From ff9faa1026eae5701e9013cee753bc9358f24404 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Fri, 27 Feb 2026 10:34:20 +0100 Subject: [PATCH 01/49] Moves transformation rules to common post.bara.sky - project sensitve text transformations moved GIT_ORIGIN_SPP_REV_ID: aa2000a352b30bf9283ea522b521b1a475eb9bba --- score/mw/log/BUILD | 9 +- score/mw/log/custom_recorder_example/BUILD | 3 +- score/mw/log/design/configuration_static.puml | 249 ---- .../datarouter_backend/class_diagram.uxf | 1302 +++++++++++++++++ .../datarouter_backend_datarouterbackend.uxf | 2 + .../inter_process_communication.uxf | 62 + .../datarouter_backend/ring_buffer_array.svg | 4 + .../single_concurrent_ring_buffer.svg | 4 + .../datarouter_backend/trace_blocking.png | Bin 0 -> 210226 bytes ...ssage_client_impl_connecttodatarouter.puml | 35 - score/mw/log/design/error_domain.puml | 13 - .../design/mw_log_datarouter_recorder.puml | 60 - score/mw/log/design/mw_log_file_backend.puml | 263 ---- score/mw/log/design/mw_log_recorders.puml | 172 --- .../design/mw_log_shared_memory_reader.puml | 81 - score/mw/log/design/write_factory_design.puml | 70 - score/mw/log/legacy_non_verbose_api/BUILD | 2 +- 17 files changed, 1383 insertions(+), 948 deletions(-) delete mode 100644 score/mw/log/design/configuration_static.puml create mode 100644 score/mw/log/design/datarouter_backend/class_diagram.uxf create mode 100644 score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.uxf create mode 100644 score/mw/log/design/datarouter_backend/inter_process_communication.uxf create mode 100644 score/mw/log/design/datarouter_backend/ring_buffer_array.svg create mode 100644 score/mw/log/design/datarouter_backend/single_concurrent_ring_buffer.svg create mode 100644 score/mw/log/design/datarouter_backend/trace_blocking.png delete mode 100644 score/mw/log/design/datarouter_message_client_impl_connecttodatarouter.puml delete mode 100644 score/mw/log/design/error_domain.puml delete mode 100644 score/mw/log/design/mw_log_datarouter_recorder.puml delete mode 100644 score/mw/log/design/mw_log_file_backend.puml delete mode 100644 score/mw/log/design/mw_log_recorders.puml delete mode 100644 score/mw/log/design/mw_log_shared_memory_reader.puml delete mode 100644 score/mw/log/design/write_factory_design.puml diff --git a/score/mw/log/BUILD b/score/mw/log/BUILD index 004b98aa..8f5b4ad3 100644 --- a/score/mw/log/BUILD +++ b/score/mw/log/BUILD @@ -25,7 +25,12 @@ cc_library( tags = ["FFI"], visibility = ["//visibility:public"], deps = [ - "//score/mw/log/detail/common:recorder_factory", + "//score/mw/log/backend:file", + "//score/mw/log/backend:remote", + "@score_baselibs//score/mw/log:console", "@score_baselibs//score/mw/log:frontend", - ], + ] + select({ + "@platforms//os:qnx": ["//score/mw/log/backend:slog"], + "//conditions:default": [], + }), ) diff --git a/score/mw/log/custom_recorder_example/BUILD b/score/mw/log/custom_recorder_example/BUILD index ca92e33d..8350abc4 100644 --- a/score/mw/log/custom_recorder_example/BUILD +++ b/score/mw/log/custom_recorder_example/BUILD @@ -50,7 +50,6 @@ cc_binary( "main.cpp", ], deps = [ - "//score/mw/log/detail/common:recorder_factory", - "@score_baselibs//score/mw/log:frontend", + "@score_baselibs//score/mw/log:console", ], ) diff --git a/score/mw/log/design/configuration_static.puml b/score/mw/log/design/configuration_static.puml deleted file mode 100644 index 3bc1766a..00000000 --- a/score/mw/log/design/configuration_static.puml +++ /dev/null @@ -1,249 +0,0 @@ -@startuml configuration_static - -interface "bmw:mw::log::Recorder" as Recorder { -} - -class "TextRecorder" as TextRecorder { -} - -class "DataRouterRecorder" as DataRouterRecorder { - - configuration: score::mw::log::Configuration -} - -class "FileRecorder" as FileRecorder { -} - -class "Empty" as Empty { -} - -class "CompositeRecorder" as CompositeRecorder { - - config_: score::mw::log::detail::Configuration -} - -class "RecorderComposite" as RecorderComposite { - + RecorderComposite(recorders: vector) - __ - - recorders_: vector -} - -class "score::mw::log::Configuration" as Configuration { - - ecu_id_: LoggingIdentifier - - app_id_: LoggingIdentifier - - app_description_: std::string - - log_mode_: std::unordered_set - - log_file_path_: std::string - - default_log_level_: LogLevel - - default_console_log_level_: LogLevel - - context_log_level_: ContextLogLevelMap - - stack_buffer_size_: std::size_t - - ring_buffer_size_: std::size_t - - ring_buffer_overwrite_on_full_: bool - - number_of_slots_: std::size_t - - slot_size_bytes_: std::size_t - - data_router_uid_: std::size_t - - dynamic_datarouter_identifiers_: bool - __ - + Configuration() - + GetEcuId(): std::string_view - + SetEcuId(const std::string_view): void - + GetAppId(): std::string_view - + SetAppId(const std::string_view): void - + GetAppDescription(): std::string_view - + SetAppDescription(const std::string_view): void - + GetLogMode(): const std::unordered_set& - + SetLogMode(const std::unordered_set&): void - + GetLogFilePath(): std::string_view - + SetLogFilePath(const std::string_view): void - + GetDefaultLogLevel(): LogLevel - + SetDefaultLogLevel(const LogLevel): void - + GetDefaultConsoleLogLevel(): LogLevel - + SetDefaultConsoleLogLevel(const LogLevel): void - + GetContextLogLevel(): ContextLogLevelMap& - + SetContextLogLevel(const ContextLogLevelMap&): void - + GetStackBufferSize(): std::size_t - + SetStackBufferSize(const std::size_t stack_buffer_size) - + GetRingBufferSize(): std::size_t - + SetRingBufferSize(const std::size_t ring_buffer_size): void - + GetRingBufferOverwriteOnFull(): bool - + SetRingBufferOverwriteOnFull(const bool): void - + GetNumberOfSlots(): std::size_t - + SetNumberOfSlots(const std::size_t number_of_slots): void - + GetSlotSizeInBytes(): std::size_t - + SetSlotSizeInBytes(const std::size_t slot_size_bytes): void - + SetDataRouterUid(const std::size_t uid): void - + GetDataRouterUid(): std::size_t - + GetDynamicDatarouterIdentifiers(): bool - + SetDynamicDatarouterIdentifiers(const bool enable_dynamic_identifier): void - + IsLogLevelEnabled(const LogLevel& log_level,\n const std::string_view context,\n const bool check_for_console = false): bool -} - -class "TargetConfigReader" as TargetConfigReader { - - discoverer_: unique_ptr - __ - + TargetConfigReader(discoverer: IConfigurationFileDiscoverer) - + ReadConfig(): score::Result -} - -interface "ITargetConfigReader" as ITargetConfigReader { - + {abstract} ReadConfig(): score::Result -} - -class "TargetConfigReaderMock" as TargetConfigReaderMock { -} - -class "RecorderFactory" as RecorderFactory { - - GetRemoteRecorder(const Configuration&):\n std::unique_ptr - - GetFileRecorder(const Configuration& config\n const std::unique_ptr&):\n std::unique_ptr - - GetConsoleRecorder(const Configuration&):\n std::unique_ptr - __ - + CreateFromConfiguration(): std::unique_ptr - + CreateFromConfiguration(\n const std::unique_ptr):\n std::unique_ptr - + CreateWithConsoleLoggingOnly(): std::unique_ptr - + CreateStub(): std::unique_ptr - + CreateRecorderFromLogMode(\n const LogMode&,\n const Configuration&,\n const std::unique_ptr) -} - -interface "IRecorderFactory" as IRecorderFactory { - + CreateFromConfiguration: std::unique_ptr - + CreateWithConsoleLoggingOnly(): std::unique_ptr - + CreateStub(): std::unique_ptr -} - -class "score::mw::log::detail::Runtime" as Runtime { -} - -interface "IConfigurationFileDiscoverer" as IConfigurationFileDiscoverer { - + {abstract} FindConfigurationFiles(): vector -} - -class "ConfigurationFileDiscoverer" as ConfigurationFileDiscoverer { - - path_: std::unique_ptr - - stdlib_: std::unique_ptr - - unistd_: std::unique_ptr - __ - + ConfigurationFileDiscoverer(\n std::unique_ptr&&,\n std::unique_ptr&&,\n std::unique_ptr&&) - + FindConfigurationFiles(): std::vector -} - -class "ConfigurationFileDiscovererMock" as ConfigurationFileDiscovererMock { -} - -class "LoggingIdentifier" as LoggingIdentifier { - + LoggingIdentifier(const std::string_view) - + GetStringView(): std::string_view - + friend operator==(const LoggingIdentifier&, const LoggingIdentifier&): bool - + friend operator!=(const LoggingIdentifier&, const LoggingIdentifier&): bool - + kMaxLength: std::size_t - + data_: std::array -} - -package "score::json" { - class JsonUtils { - + FromFile(path): Result - } -} - -package "score::os" { - class "utils/path" as Path { - + {static} get_exec_path(): Result - + {static} get_parent_dir(): string - } - - class "Unistd" as Unistd { - + access() - } - - class "Stdlib" as Stdlib { - + getenv() - } -} - -' Inheritance relationships -Recorder <|-- DataRouterRecorder -Recorder <|-- TextRecorder -Recorder <|-- FileRecorder -Recorder <|-- Empty -Recorder <|-- CompositeRecorder -Recorder <|.. RecorderComposite - -ITargetConfigReader <|.. TargetConfigReader -ITargetConfigReader <|.. TargetConfigReaderMock - -IConfigurationFileDiscoverer <|-- ConfigurationFileDiscoverer -IConfigurationFileDiscoverer <|-- ConfigurationFileDiscovererMock - -' Composition and aggregation relationships -DataRouterRecorder *-- Configuration -CompositeRecorder *-- Configuration -RecorderComposite *-- DataRouterRecorder -RecorderComposite *-- TextRecorder -Configuration *-- LoggingIdentifier - -' Usage relationships -RecorderFactory ..> RecorderComposite : creates -RecorderFactory ..> TargetConfigReader : uses -RecorderFactory ..> IRecorderFactory : uses -Runtime ..> Recorder : owns instance of -TargetConfigReader ..> Configuration : creates -TargetConfigReader *-- IConfigurationFileDiscoverer -TargetConfigReader ..> JsonUtils : uses -ConfigurationFileDiscoverer ..> Path : uses -ConfigurationFileDiscoverer ..> Unistd : uses -ConfigurationFileDiscoverer ..> Stdlib : uses - -note right of RecorderComposite - Forwards the logs to all recorders in the list - passed in the constructor. -end note - -note right of RecorderFactory - CreateForTarget(): Loads the configuration - and instantiates the requested - recorder types. - - CreateForUnitTests(): Prepares a recorder - that puts logs in standard output stream - for unit testing. - - CreateStub(): Returns Empty recorder that - discards all the logs. -end note - -note right of TargetConfigReader - Reads config from - /opt//etc/logging.json - and /ecu/logging.json and creates the - Configuration object. -end note - -note bottom of TargetConfigReaderMock - Used for unit testing the RecorderFactory. -end note - -note top of TargetConfigReader - Dependency injection for unit testing. -end note - -note right of DataRouterRecorder - Configuration passed - the constructor by value. -end note - -note right of ConfigurationFileDiscoverer - Finds the file paths to the global, environmental and - application configuration files and returns all that exists. - - Global configuration: - 1. /etc/ecu_logging_config.json if it exists. - - Environmental configuration: - 1. path under the MW_LOG_CONFIG_FILE environmental - variable if it defined - - Application configuration: - 1. /etc/logging.json - 2. /logging.json - 3. /../etc/logging.json -end note - -@enduml diff --git a/score/mw/log/design/datarouter_backend/class_diagram.uxf b/score/mw/log/design/datarouter_backend/class_diagram.uxf new file mode 100644 index 00000000..3ea3dde6 --- /dev/null +++ b/score/mw/log/design/datarouter_backend/class_diagram.uxf @@ -0,0 +1,1302 @@ + + + Space for diagram notes + + 8 + + UMLClass + + 0 + 224 + 272 + 168 + + DataRouterBackend +- +- buffer_: CircularAllocator +- message_client_: DatarouterMessageClient +-- ++ DataRouterBackend(const std::size_t, + const LogRecord&, + DatarouterMessageClientFactory&, + const Configuration&, + WriterFactory) ++ ReserveSlot: score::cpp::optional<SlotHandle> ++ FlushSlot((const SlotHandle&): void ++ GetLogRecord((const SlotHandle&): LogRecord& + + +bg=white +fontsize=14 + + + + UMLClass + + 1136 + 1224 + 248 + 24 + + mw::com::message_passing::IReceiver + +bg=white +fontsize=14 + + + + Relation + + 1064 + 1224 + 88 + 24 + + lt=<<<<<- + 10.0;10.0;90.0;10.0 + + + UMLClass + + 280 + 488 + 456 + 232 + + SharedMemoryWriter +-- +- shared_data: SharedData& +- alternating_writer_: WaitFreeAlternatingWriter +- alternating_reader_: AlternatingReader +- unmap_callback_ : UmapCallback +- type_identifier_: atomic<TypeIdentifier> +- moved_from_: bool +-- ++ SharedMemoryWriter(SharedData&, UnmapCallback) ++ SharedMemoryWriter(SharedMemoryWriter&&) ++ GetMaxPayloadSize: Length ++ AllocAndWrite(const TimePoint, const TypeIdentifier, const Length, WriteCallback): void ++ AllocAndWrite(WriteCallback, const TypeIdentifier, const Length): void ++ TryRegisterType(info: Typeinfo): optional<TypeIdentifier> ++ ReadAcquire(): ReadAcquireResult ++ DetachWriter(): void + + +bg=white +fontsize=14 + + + + UMLClass + + 296 + 360 + 176 + 72 + + <<Singleton>> +score::platform::logger +-- +- writer: SharedMemoryWriter + +bg=white +fontsize=14 + + + + Relation + + 384 + 424 + 24 + 80 + + lt=<<<<<- + 10.0;10.0;10.0;80.0 + + + UMLClass + + 888 + 400 + 296 + 136 + + <<Shared Memory>> + +SharedData +-- ++ control_block: AlternatingControlBlock ++ linear_buffer_1_offset: Length ++ linear_buffer_2_offset: Length ++ number_of_drops_buffer_full: std::atomic<Length> ++ number_of_drops_invalid_size: std::atomic<Length> ++ size_of_drops_buffer_full: std::atomic<Length> ++ writer_detached std::atomic<bool> ++ producer_pid: pid_t + + +bg=white +fontsize=14 + + + + Relation + + 728 + 496 + 176 + 24 + + lt=<<<<- + 10.0;10.0;200.0;10.0 + + + UMLClass + + 1136 + 1272 + 248 + 24 + + mw::com::message_passing::ISender + +bg=white +fontsize=14 + + + + Relation + + 1064 + 1272 + 88 + 24 + + lt=<<<<<- + 10.0;10.0;90.0;10.0 + + + UMLClass + + 0 + 128 + 128 + 40 + + lt=. +*mw::log* +*Datarouter backend* + +bg=white +fontsize=14 + + + + UMLClass + + 488 + 0 + 376 + 456 + + WriterFactory +-- +- GetStaticLoggingClientFilename(app_id: const std::string_view): std::string +- UnlinkExistingFile(file_name: const std::string&): void +- OpenAndTruncateFile(buffer_total_size: const std::size_t, + file_name: const std::string&, + flags: const score::os::Fcntl::Open): + score::cpp::optional<int32_t> +- MapSharedMemory(buffer_total_size: const std::size_t, + memfd_write: const int32_t, + file_name: const std::string&): + score::cpp::optional<void* const> +- IsMemoryAligned(ring_buffer_address: void* const): bool +- ConstructSharedData(ring_buffer_address: void* const, + ring_buffer_size: const std::size_t): SharedData* +- PrepareFileNameAndUpdateOpenFlags( file_open_flags: score::os::Fcntl::Open&, + dynamic_mode: const bool, + app_id: const std::string_view; + :LoggingClientFileNameResult +- GetAlignedRingBufferAddress(total_size: const std::size_t , + file_name: const std::string&, + file_open_flags: const score::os::Fcntl::Open): + score::cpp::optional<void* const>; + +- osal_: OsalInstances +- mmap_result_: score::cpp::expected<void*, score::os::Error> +- unmap_callback_: UnmapCallback +- file_attributes_: LoggingClientFileNameResult +-- ++ WriterFactory(OsalInstances osal) ++ Create(const std::size_t ring_size, const bool dynamic_mode, + const std::string_view app_id) + :score::cpp::optional<SharedMemoryWriter> ++ GetIdentifier(): std::string ++ GetFileName(): std::string + + +bg=white +fontsize=14 + + + + Relation + + 576 + 448 + 72 + 56 + + lt=<. +<<creates>> + 10.0;50.0;10.0;10.0 + + + Relation + + 128 + 184 + 376 + 56 + + lt=<. +<<uses>> + 450.0;20.0;10.0;20.0;10.0;50.0 + + + UMLClass + + 1280 + 160 + 128 + 32 + + score::os::Fcntl +-- +fontsize=14 +bg=white + + + + Relation + + 1176 + 160 + 120 + 24 + + lt=<<<<<- + 10.0;10.0;130.0;10.0 + + + UMLClass + + 1280 + 240 + 128 + 32 + + score::os::Mman +-- +fontsize=14 +bg=white + + + + Relation + + 1176 + 200 + 120 + 64 + + lt=<<<<<- + 10.0;10.0;130.0;60.0 + + + UMLClass + + 840 + 640 + 368 + 64 + + WaitFreeAlternatingWriter +-- ++ Acquire(const Length length): score::cpp::optional<AlternatingAcquiredData> ++ Release(const AlternatingAcquiredData&): void + +bg=white +fontsize=14 + + + + UMLClass + + 840 + 560 + 216 + 56 + + AlternatingReader +-- ++ Read(): score::cpp::optional<score::cpp::span<Byte>> ++ Switch(): void + + + +bg=white +fontsize=14 + + + + Relation + + 728 + 664 + 128 + 24 + + lt=<<<<<- + 10.0;10.0;140.0;10.0 + + + Relation + + 728 + 584 + 128 + 24 + + lt=<<<<<- + 10.0;10.0;140.0;10.0 + + + UMLClass + + 1280 + 200 + 128 + 32 + + score::os::Unistd +-- +fontsize=14 +bg=white + + + + Relation + + 1176 + 176 + 120 + 56 + + lt=<<<<<- + 10.0;10.0;130.0;50.0 + + + UMLClass + + 1200 + 720 + 392 + 208 + + <<interface>> + +MessagePassingFactory +-- ++ CreateReceiver(const std::string_view, + concurrency::Executor&, + const score::cpp::span<const uid_t>, + const score::mw::com::message_passing::ReceiverConfig&, + score::cpp::pmr::memory_resource*): + score::cpp::pmr::unique_ptr<score::mw::com::message_passing::IReceiver> ++ CreateSender(const std::string_view, + const score::cpp::stop_token&, + const score::mw::com::message_passing::SenderConfig&, + score::mw::com::message_passing::LoggingCallback, + score::cpp::pmr::memory_resource*): + score::cpp::pmr::unique_ptr<score::mw::com::message_passing::ISender> + + + +bg=white +fontsize=14 + + + + + Relation + + 728 + 736 + 64 + 32 + + lt=.>> + + 60.0;20.0;10.0;20.0 + + + UMLClass + + 776 + 720 + 320 + 184 + + DatarouterMessageClientFactoryImpl +-- +- created_once_: bool +- config_: Configuration +- message_passing_factory_: MessagePassingFactory +- unistd_: score::os::Unistd +- pthread_: score::os::Pthread +-- ++ DatarouterMessageClientFactoryImp(const Configuration&, + std::unique_ptr<MessagePassingFactory>, + std::unique_ptr<score::os::Unistd>, + std::unique_ptr<score::os::Pthread>) ++ CreateOnce(const std::string&, + const std::string&): + std::unique_ptr<DatarouterMessageClient> + + +bg=white +fontsize=14 + + + + + UMLClass + + 40 + 544 + 176 + 80 + + <<interface>> + +DatarouterMessageClient +- ++ Run(): void ++ Shutdown(): void + + +bg=white +fontsize=14 + + + + Relation + + 16 + 384 + 440 + 400 + + lt=<. + 10.0;10.0;10.0;480.0;530.0;480.0 + + + UMLClass + + 448 + 944 + 624 + 648 + + DatarouterMessageClientImpl +-- +- RunConnectTask(): bool +- OnAcquireRequest(): void +- UnlinkSharedMemoryFile(): void +- HandleFirstMessageReceived(): void +- RequestInternalShutdown(): void +- CheckExitRequestAndSendConnectMessage(): void +- BuildMessage(const DatarouterMessageIdentifier&, +const score::mw::com::message_passing::MediumMessagePayload&): score::mw::com::message_passing::MediumMessage +- SendMessage(const Message&): void + +- run_started_: bool +- msg_client_ids_: MsgClientIdentifiers +- use_dynamic_datarouter_ids_: bool +- first_message_received_: std::atomic_bool +- utils_: MsgClientUtils +- unlinked_shared_memory_file_: bool +- shared_memory_writer_: SharedMemoryWriter& +- writer_file_name_: std::string +- message_passing_factory_: std::unique_ptr<MessagePassingFactory> +- monotonic_resource_buffer_: std::array<uint8_t, GetMonotonicResourceSize()> +- monotonic_resource_: score::cpp::pmr::monotonic_buffer_resource +- stop_source_: score::cpp::stop_source +- thread_pool_: score::concurrency::ThreadPool +- sender_: score::cpp::pmr::unique_ptr<score::mw::com::message_passing::ISender> +- receiver_: score::cpp::pmr::unique_ptr<score::mw::com::message_passing::IReceiver> +- connect_task_: score::concurrency::TaskResult<void> + +-- ++ DatarouterMessageClientImpl(const MsgClientIdentifiers&, + MsgClientBackend, + MsgClientUtils, + const score::cpp::stop_source) ++ Run(): void ++ Shudown(): void ++ SetupReceiver(): void ++ CreateSender(): void ++ StartReceiver(): bool ++ SendConnectMessage(): void ++ SetThreadName(): void ++ ConnectToDatarouter(): void ++ BlockTermSignal(): void ++ GetReceiverIdentifier(): const std::string& ++ GetThisProcessPid(): const pid_t& ++ GetWriterFileName(): const std::string& ++ GetAppid(): const LoggingIdentifier& + +bg=white +fontsize=14 + + + + + Relation + + 64 + 616 + 432 + 344 + + lt=.>> + 520.0;410.0;520.0;350.0;10.0;350.0;10.0;10.0 + + + UMLClass + + 1136 + 1320 + 248 + 24 + + mw::com::message_passing::ShortMessage + +bg=white +fontsize=14 + + + + UMLClass + + 1136 + 1368 + 248 + 24 + + mw::com::message_passing::MediumMessage + +bg=white +fontsize=14 + + + + Relation + + 1064 + 1320 + 88 + 24 + + lt=<<<<<- + 10.0;10.0;90.0;10.0 + + + Relation + + 1064 + 1368 + 88 + 24 + + lt=<<<<<- + 10.0;10.0;90.0;10.0 + + + UMLClass + + 1136 + 968 + 248 + 240 + + MsgClientIdentifiers +-- +- receiver_id_: std::string +- this_process_id_: pid_t +- app_id_ating_reader_: LoggingIdentifier +- datarouter_uid_ : uid_t +- uid_: uid_t +-- ++ MsgClientIdentifiers(const std::string&, + const pid_t, + const LoggingIdentifier&, + const uid_t, + const uid_t) ++ GetReceiverID(): std::string& ++ GetThisProcID(): const pid_t& ++ GetAppID(): const LoggingIdentifier& ++ GetDatarouterUID(): uid_t ++ GetUID(): uid_t + + +bg=white +fontsize=14 + + + + Relation + + 912 + 896 + 72 + 64 + + lt=<. +<<creates>> + 10.0;60.0;10.0;10.0 + + + UMLClass + + 24 + 992 + 376 + 192 + + MsgClientBackend +-- +- shared_memory_writer_: SharedMemoryWriter& +- writer_file_name_: std::string +- message_passing_factory_: std::unique_ptr<MessagePassingFactory> +- use_dynamic_datarouter_ids_ : bool +-- ++ MsgClientBackend(SharedMemoryWriter&, + const std::string&, + std::unique_ptr<MessagePassingFactory>, + const bool) ++ GetShMemWriter(): SharedMemoryWriter& ++ GetWriterFilename(): const std::string& ++ GetMsgPassingFactory(): std::unique_ptr<MessagePassingFactory>& ++ IsUsingDynamicDatarouterIDs(): bool + + +bg=white +fontsize=14 + + + + Relation + + 392 + 1064 + 72 + 24 + + lt=<. + 10.0;10.0;70.0;10.0 + + + UMLClass + + 24 + 1208 + 376 + 144 + + MsgClientUtils +-- +- unistd_: std::unique_ptr<score::os::Unistd> +- pthread_: std::unique_ptr<score::os::Pthread> +- signal_: std::unique_ptr<score::os::Signal> +-- ++ MsgClientUtils(std::unique_ptr<score::os::Unistd>, + std::unique_ptr<score::os::Pthread>, std::unique_ptr<score::os::Signal>) ++ GetUnistd(): score::os::Unistd& ++ GetPthread(): score::os::Pthread& ++ GetSignal(): score::os::Signal& + + +bg=white +fontsize=14 + + + + + UMLClass + + 440 + 744 + 296 + 88 + + <<interface>> + +DatarouterMessageClientFactory +-- ++ CreateOnce((const std::string&, (const std::string&): + std::unique_ptr<DatarouterMessageClient> + + + +bg=white +fontsize=14 + + + + + UMLClass + + 1400 + 968 + 360 + 192 + + MessagePassingFactoryImpl +-- ++ CreateReceiver(const std::string_view, + concurrency::Executor&, + const score::cpp::span<const uid_t>, + const score::mw::com::message_passing::ReceiverConfig&, + score::cpp::pmr::memory_resource*): + score::cpp::pmr::unique_ptr<score::mw::com::message_passing::IReceiver> ++ CreateSender(const std::string_view, + const score::cpp::stop_token&, + const score::mw::com::message_passing::SenderConfig&, + score::mw::com::message_passing::LoggingCallback, + score::cpp::pmr::memory_resource*): + score::cpp::pmr::unique_ptr<score::mw::com::message_passing::ISender> + + +bg=white +fontsize=14 + + + + + Relation + + 1464 + 920 + 24 + 64 + + lt=.>> + + 10.0;60.0;10.0;10.0 + + + Relation + + 1088 + 736 + 128 + 24 + + lt=<- + 140.0;10.0;10.0;10.0 + + + Relation + + 1064 + 976 + 88 + 24 + + lt=<<<<<- + 10.0;10.0;90.0;10.0 + + + Relation + + 232 + 384 + 352 + 576 + + lt=->>>>> + 420.0;700.0;420.0;610.0;10.0;610.0;10.0;10.0 + + + Relation + + 120 + 384 + 24 + 176 + + lt=<- + 10.0;10.0;10.0;200.0 + + + UMLClass + + 1224 + 400 + 304 + 72 + + AlternatingControlBlock +-- ++ control_block_even: LinearControlBlock ++ control_block_odd: LinearControlBlock ++ switch_count_points_active_for_writing: std::atomic<std::uint32_t> + + +bg=white +fontsize=14 + + + + UMLClass + + 1224 + 512 + 304 + 80 + + LinearControlBlock +-- ++ data: score::cpp::span<Byte> ++ acquired_index: std::atomic<Length> ++ written_index: std::atomic<Length> ++ number_of_writers: std::atomic<Length> + + +bg=white +fontsize=14 + + + + Relation + + 1176 + 424 + 64 + 24 + + lt=<<<<<- + 10.0;10.0;60.0;10.0 + + + Relation + + 1352 + 464 + 24 + 64 + + lt=<<<<<- + 10.0;10.0;10.0;60.0 + + + UMLNote + + 1440 + 568 + 152 + 56 + + Note.. + +using Length = std::uint64_t; + + +bg=blue +layer=1 +fontsize=14 + + + + UMLClass + + 288 + 1376 + 112 + 32 + + score::os::Signal +-- +fontsize=14 +bg=white + + + + Relation + + 856 + 160 + 96 + 24 + + lt=<<<<<- + 10.0;10.0;100.0;10.0 + + + UMLClass + + 936 + 160 + 248 + 96 + + OsalInstances +-- ++ fcntl_osal: std::unique_ptr<score::os::Fcntl> ++ unistd: std::unique_ptr<score::os::Unistd> ++ mman: std::unique_ptr<score::os::Mman> ++ stat_osal: std::unique_ptr<score::os::Stat> ++ stdlib: std::unique_ptr<score::os::Stdlib> + + +fontsize=14 +bg=white + + + + UMLClass + + 1280 + 280 + 128 + 32 + + score::os::Stat +-- +fontsize=14 +bg=white + + + + UMLClass + + 1280 + 320 + 128 + 32 + + score::os::Stdlib +-- +fontsize=14 +bg=white + + + + Relation + + 1176 + 224 + 120 + 80 + + lt=<<<<<- + 10.0;10.0;130.0;80.0 + + + Relation + + 1176 + 240 + 120 + 112 + + lt=<<<<<- + 10.0;10.0;130.0;120.0 + + + UMLClass + + 320 + 224 + 128 + 56 + + <<ainterface>> + +Backend +- + + +bg=white +fontsize=14 + + + + Relation + + 264 + 232 + 72 + 32 + + lt=.>> + + 10.0;20.0;70.0;20.0 + + + UMLClass + + 320 + 296 + 128 + 48 + + template <typename T> +CircularAllocator +- + + +bg=white +fontsize=14 + + + + Relation + + 264 + 304 + 72 + 24 + + lt=<<<<<- + 70.0;10.0;10.0;10.0 + + + Relation + + 296 + 712 + 56 + 296 + + lt=<. + + + + + + + + + + + + + + + + +<<uses>> + 10.0;10.0;10.0;350.0 + + + Relation + + 368 + 760 + 848 + 248 + + lt=->>>>> + 1040.0;10.0;930.0;10.0;930.0;200.0;10.0;200.0;10.0;290.0 + + + Relation + + 336 + 712 + 328 + 248 + + lt=<. +<<uses>> + 10.0;10.0;10.0;170.0;390.0;170.0;390.0;290.0 + + + Relation + + 1064 + 800 + 152 + 168 + + lt=<<<<<- + 10.0;190.0;90.0;190.0;90.0;10.0;170.0;10.0 + + + UMLClass + + 1136 + 1472 + 200 + 32 + + score::concurrency::ThreadPool +-- +fontsize=14 +bg=white + + + + Relation + + 1064 + 1472 + 88 + 24 + + lt=<<<<<- + 10.0;10.0;90.0;10.0 + + + UMLClass + + 152 + 1376 + 128 + 32 + + score::os::Pthread +-- +fontsize=14 +bg=white + + + + UMLClass + + 24 + 1376 + 120 + 32 + + score::os::Unistd +-- +fontsize=14 +bg=white + + + + Relation + + 72 + 1344 + 24 + 48 + + lt=<<<<<- + 10.0;10.0;10.0;40.0 + + + Relation + + 208 + 1344 + 24 + 48 + + lt=<<<<<- + 10.0;10.0;10.0;40.0 + + + UMLClass + + 1136 + 1520 + 272 + 136 + + ConnectMessageFromClient +-- ++ appid: LoggingIdentifier ++ uid: uid_t ++ use_dynamic_identifier: bool ++ random_part: std::array<std::string::value_type, 6> ++ operator==(const ConnectMessageFromClient&, + const ConnectMessageFromClient&): bool ++ operator!=(const ConnectMessageFromClient&, + const ConnectMessageFromClient&): bool + + + +bg=white +fontsize=14 + + + + Relation + + 1064 + 1536 + 88 + 24 + + lt=<- + 90.0;10.0;10.0;10.0 + + + Relation + + 392 + 1248 + 72 + 24 + + lt=<<<<<- + 70.0;10.0;10.0;10.0 + + + Relation + + 336 + 1344 + 24 + 48 + + lt=<<<<<- + 10.0;10.0;10.0;40.0 + + + UMLClass + + 904 + 288 + 184 + 64 + + LoggingFileNameResult +-- ++ file_name: std::string; ++ identifier: std::string; + + +bg=white +fontsize=14 + + + + Relation + + 856 + 312 + 64 + 24 + + lt=<<<<<- + 10.0;10.0;60.0;10.0 + + diff --git a/score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.uxf b/score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.uxf new file mode 100644 index 00000000..86dfd869 --- /dev/null +++ b/score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.uxf @@ -0,0 +1,2 @@ +10UMLSpecialState2001002020type=initialUMLState10015022040Create shared memory writerUMLState10022022040Create message clientUMLState10029022040Run message clientRelation2001103060lt=<-10;40;10;10Relation2001803060lt=<-10;40;10;10Relation2002503060lt=<-10;40;10;10Relation2003203060lt=<-10;40;10;10UMLSpecialState2003602020type=finalUMLObject7060280350DataRouterBackend::DataRouterBackend +valign=top \ No newline at end of file diff --git a/score/mw/log/design/datarouter_backend/inter_process_communication.uxf b/score/mw/log/design/datarouter_backend/inter_process_communication.uxf new file mode 100644 index 00000000..ece45c6c --- /dev/null +++ b/score/mw/log/design/datarouter_backend/inter_process_communication.uxf @@ -0,0 +1,62 @@ +13Space for diagram notesUMLGeneric5278312455<<Process>> +Logging Client + +layer=1 +bg=white +fontsize=14UMLGeneric135278234455<<Process>> +Datarouter +layer=1 + +bg=white +fontsize=14UMLState78018219552Shared Memory +fontsize=12 +bg=white +fontsize=14Relation35118245578lt=<<<<<- +Creates and writes to +/tmp/logging.<appid>.<uid>.shmem +with permissions 0644 +fontsize=1410;20;330;20Relation96218241665lt=<- +Read-only access + +fontsize=1410;20;300;20Relation35132552078lt=-() +Instantiates side channel to receive messages from +/mw_com/message_passing/logging.<app>.<uid> + +bg=white +fontsize=1410;20;380;20Relation84532553378lt=)- +Creates a Sender for each client +to send requests to the client + +fontsize=1420;20;390;20UMLGeneric130156234351symbol=component +mw::log + +DatarouterBackend + +layer=2 +bg=white +fontsize=14UMLClass15633820839/mw::com::Receiver/ + +layer=3 +bg=white +fontsize=14UMLClass135232520839/mw::com::Sender/ + +layer=2 +bg=white +fontsize=14UMLClass15642920839/mw::com::Sender/ + +layer=3 +bg=white +fontsize=14UMLClass135241620839/mw::com::Receiver/ + +layer=2 +bg=white +fontsize=14Relation35141652078lt=)- +Creates a Sender +to reply to requests from Datarouter + +fontsize=14370;20;10;20Relation84541653378lt=-() +One receiver for all clients +/mw_com/message_passing/logging.datarouter_recv + +bg=white +fontsize=14390;20;10;20 diff --git a/score/mw/log/design/datarouter_backend/ring_buffer_array.svg b/score/mw/log/design/datarouter_backend/ring_buffer_array.svg new file mode 100644 index 00000000..1c2a885c --- /dev/null +++ b/score/mw/log/design/datarouter_backend/ring_buffer_array.svg @@ -0,0 +1,4 @@ + + + +
Ring Buffer Array (Shared Memory)
Ring Buffer Arra...
header
header
Payload
Payload
header
header
Payload
Payload
Thread A
is writing 
Thread A...
Thread B
is writing
Thread B...
header
header
Payload
Payload
Free space
Free space
Ring Buffer 0
Ring Buffe...
Ring Buffer 1
Ring Buffe...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/score/mw/log/design/datarouter_backend/single_concurrent_ring_buffer.svg b/score/mw/log/design/datarouter_backend/single_concurrent_ring_buffer.svg new file mode 100644 index 00000000..83a2d8b3 --- /dev/null +++ b/score/mw/log/design/datarouter_backend/single_concurrent_ring_buffer.svg @@ -0,0 +1,4 @@ + + + +
Ring Buffer (Shared Memory)
Ring Buffer (Sha...
read_index: atomic_int
read_index: a...
read: atomic_bool
ready: atomic_bool
length: size_t
read: atomic_bool...
Payload
Payload
read: atomic_bool
ready: atomic_bool
length: size_t
read: atomic_bool...
Payload
Payload
write_index: atomic_int
write_inde...
Thread A
is writing 
Thread A...
read: atomic_bool
ready: atomic_bool
length: size_t
read: atomic_bool...
Payload
Payload
Thread B
is writing
Thread B...
Datarouter
is reading
Datarouter...
Update through
side-channel IPC
Update thro...
Process bounday
Process bo...
Read-only access to shared memory
Read-only access to...
Free space
Free space
Text is not SVG - cannot display
\ No newline at end of file diff --git a/score/mw/log/design/datarouter_backend/trace_blocking.png b/score/mw/log/design/datarouter_backend/trace_blocking.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3e77ffcba4d60b0fa842f1e3398dc43f0ee7fc GIT binary patch literal 210226 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�W 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 ZPuy7$Q9G)es#VKi`uuMbzFD&Q{{Wxu_Qe1I literal 0 HcmV?d00001 diff --git a/score/mw/log/design/datarouter_message_client_impl_connecttodatarouter.puml b/score/mw/log/design/datarouter_message_client_impl_connecttodatarouter.puml deleted file mode 100644 index 9bc688b8..00000000 --- a/score/mw/log/design/datarouter_message_client_impl_connecttodatarouter.puml +++ /dev/null @@ -1,35 +0,0 @@ -@startuml -!theme plain -title DatarouterMessageClientImpl::ConnectToDatarouter - -partition "DatarouterMessageClientImpl::ConnectToDatarouter" { - start - - :Block termination Signal; - note right - **Note:** - The logger thread (owned by adaptive application) - should not react to the Terminate Signal. Instead - the Terminate Signal should be handled by - mw::lifecycle for Adaptive applications. - end note - - :Create sender; - - :Start receiver; - - if (Receiver started?) then (Yes) - if (Is exit requsted?) then (No) - :Send connect message; - else (Yes) - endif - else (No) - :Unlink shared memory file; - :Request stop for connection; - :Shutdown thread pool; - endif - - stop -} - -@enduml diff --git a/score/mw/log/design/error_domain.puml b/score/mw/log/design/error_domain.puml deleted file mode 100644 index 3f3509ca..00000000 --- a/score/mw/log/design/error_domain.puml +++ /dev/null @@ -1,13 +0,0 @@ -@startuml error_domain - -interface "score::result::ErrorDomain" as ErrorDomainInterface { - {abstract} +MessageFor(const score::result::ErrorCode&): std::string_view -} - -class "score::mw::log::detail::ErrorDomain" as ErrorDomain { - +MessageFor(const score::result::ErrorCode&): std::string_view -} - -ErrorDomainInterface <|.. ErrorDomain - -@enduml diff --git a/score/mw/log/design/mw_log_datarouter_recorder.puml b/score/mw/log/design/mw_log_datarouter_recorder.puml deleted file mode 100644 index 0a0e2b93..00000000 --- a/score/mw/log/design/mw_log_datarouter_recorder.puml +++ /dev/null @@ -1,60 +0,0 @@ -@startuml mw_log_datarouter_recorder - -class "DataRouterRecorder" as DataRouterRecorder { - - backend_: std::unique_ptr - - config_: Configuration - - statistics_reporter_: StatisticsReporter - __ - + DataRouterRecorder(std::unique_ptr&&, const Configuration&) - + StartRecord(const std::string_view, const LogLevel): score::cpp::optional - + StopRecord(const SlotHandle&): void - + Log(const SlotHandle&, const T) - family of functions - + IsLogEnabled(const LogLevel&, const std::string_view) : bool - __ - - LogData(const SlotHandle&, const T data): void - - SetApplicationId(LogRecord&): void -} - -class "StatisticsReporter" as StatisticsReporter { - - recorder_: Recorder& - - report_interval_: std::chrono::seconds - - number_of_slots_: std::size_t - - slot_size_bytes_: std::size_t - - no_slot_available_counter_: std::atomic - - message_too_long_counter_: std::atomic - - last_report_time_point_nanoseconds_: std::atomic - - currently_reporting_: std::atomic_bool - __ - + StatisticsReporter(Recorder&, const std::chrono::seconds,\n const std::size_t, const std::size_t) - + IncrementNoSlotAvailable(): void - + IncrementMessageTooLong(): void - + Update(const std::chrono::steady_clock::time_point&): void -} - -interface "IStatisticsReporter" as IStatisticsReporter { - + IncrementNoSlotAvailable(): void - + IncrementMessageTooLong(): void - + Update(const std::chrono::steady_clock::time_point&): void -} - -class "Configuration" as Configuration { -} - -class "DataRouterBackend" as DataRouterBackend { -} - -class "Recorder" as Recorder { -} - -class "mw::log::Runtime" as Runtime <> { -} - -' Relationships -Runtime --> DataRouterRecorder : is owned by -DataRouterRecorder *-- StatisticsReporter -DataRouterRecorder *-- Configuration -DataRouterRecorder *-- DataRouterBackend -StatisticsReporter ..|> IStatisticsReporter -StatisticsReporter --> Recorder : uses - -@enduml diff --git a/score/mw/log/design/mw_log_file_backend.puml b/score/mw/log/design/mw_log_file_backend.puml deleted file mode 100644 index 6e0e85d6..00000000 --- a/score/mw/log/design/mw_log_file_backend.puml +++ /dev/null @@ -1,263 +0,0 @@ -@startuml mw_log_file_backend - -' Classes -class "mw::log::Recorder" as Recorder { - + StartRecord(ctx:std::string_view, ll:LogLevel): score::cpp::optional - + StopRecord(slot:SlotHandle&) - + Log( T data ) - family of functions - __ - - backend:unique_ptr - __ - Responsibilities: - -- Opens and closes file. - Uses formatters to serialize - user data and header. -} - -interface "mw::log::detail::Backend" as Backend { - + ReserveSlot(): score::cpp::optional - + FlushSlot(const SlotHandle&) - + GetLogRecord(const SlotHandle&): LogRecord& -} - -class "mw::log::detail::FileOutputBackend" as FileOutputBackend { - - buffer_allocator_: std::unique_ptr> - - slot_drainer_:SlotDrainer - __ - + FileOutputBackend(std::unique_ptr,\n const std::int32_t,\n std::unique_ptr>,\n std::unique_ptr) - + ReserveSlot():score::cpp::optional - + FlushSlot(const SlotHandle&):void - + GetLogRecord(const SlotHandle&): LogRecord& - __ - Responsibilities - -- keeps statistics of dropped messages -} - -class "mw::log::detail::SlotDrainer" as SlotDrainer { - - allocator_: std::unique_ptr>& - - message_builder_:std::unique_ptr - - context_mutex_:std::mutex - - circular_buffer_:score::cpp::circular_buffer - - current_slot_:score::cpp::optional> - - non_blocking_writer_: NonBlockingWriter - - limit_slots_in_one_cycle_: const std::size_t - __ - + SlotDrainer(std::unique_ptr,\n std::unique_ptr>&,\n const std::int32_t,\n const std::size_t,\n std::unique_ptr) - + PushBack(const SlotHandle&):void - + Flush():void - __ - - TryFlushSlots(): score::cpp::expected - - TryFlushSpans(): score::cpp::expected - - MoreSlotsAvailableAndLoaded():bool - - MoreSpansAvailableAndLoaded():bool - __ - Responsibilities - -- Drains slots - empties circular_buffer - when subsequent data has been flushed - -- Returns status if data was flushed or stalled -} - -class "mw::log::detail::NonBlockingWriter" as NonBlockingWriter { - - unistd_: std::unique_ptr - - file_handle_: std::int32_t - - number_of_flushed_bytes_: uint64_t - - buffer_: score::cpp::span - - buffer_flushed_: Result - - max_chunk_size_: std::size_t - __ - + NonBlockingWriter(const std::int32_t, std::size_t, std::unique_ptr) - + FlushIntoFile(): score::cpp::expected - + SetSpan(const score::cpp::span&): void - + GetMaxChunkSize(): std::size_t - __ - - InternalFlush(const uint64_t): score::cpp::expected - __ - Responsibilities - -- Write logs into file -} - -interface "mw::log::detail::IMessageBuilder" as IMessageBuilder { - + GetNextSpan() : score::cpp::optional> - + SetNextMessage(LogRecord&): void - __ - Responsibility: - iterates over spans of data to be - serialized into output stream. -} - -class "mw::log::detail::DltMessageBuilder" as DltMessageBuilder { - + DltMessageBuilder(ecu_id) - + GetNextSpan() : score::cpp::optional> - + SetNextMessage(LogRecord&): void -} - -class "mw::log::detail::TextMessageBuilder" as TextMessageBuilder { - + TextMessageBuilder(app_id, ecu_id, ) - + GetNextSpan() : score::cpp::optional> - + SetNextMessage(log_record:LogRecord&): void -} - -class "mw::log::detail::CircularAllocator" as CircularAllocator { - - claimed_sequence_:std::atomic - - buffer_:std::vector> - __ - + CircularAllocator(std::size_t, const T&) - + AcquireSlotToWrite(): score::cpp::optional - + GetUnderlyingBufferFor(std::size_t): T& - + ReleaseSlot(std::size_t):void - + GetUsedCount():size_t -} - -class "score::cpp::circular_buffer" as CircularBuffer { - Responsibilities - -- stores elements of static size - -- overwrites data when full - -- realizes FIFO pattern -} - -class "mw::log::detail::Slot" as Slot { - + data: T - + in_use: std::atomic -} - -class "mw::log::detail::LogRecord" as LogRecord #Orange { - - logEntry_:LogEntry - - verbosePayload_:VerbosePayload - __ - LogRecord(const std::size_t) - getLogEntry(): LogEntry& - getLogEntry(): const LogEntry& - getVerbosePayload(): VerbosePayload& - getVerbosePayload(): const VerbosePayload& -} - -class "VerbosePayload" as VerbosePayload { -} - -class "LoggingIdentifier" as LoggingIdentifier { -} - -class "mw::log::detail::BackendLogMock" as BackendLogMock #Pink { - + ReserveSlot(): score::cpp::optional - + FlushSlot(const SlotHandle&) - + GetLogRecord(const SlotHandle&): LogRecord& -} - -class "OSAL::Unistd" as OsalUnistd1 { -} - -class "OSAL::Unistd" as OsalUnistd2 { -} - -class "OSAL::fcntl" as Fcntl { -} - -' Relationships -Recorder *-- Backend -Backend <|.. FileOutputBackend -Backend <|.. BackendLogMock - -FileOutputBackend *-- SlotDrainer -FileOutputBackend *-- CircularAllocator - -SlotDrainer *-- NonBlockingWriter -SlotDrainer *-- CircularBuffer -SlotDrainer *-- CircularAllocator -SlotDrainer *-- IMessageBuilder - -NonBlockingWriter *-- OsalUnistd1 -NonBlockingWriter ..> OsalUnistd1 : write - -IMessageBuilder <|-- DltMessageBuilder -IMessageBuilder <|-- TextMessageBuilder - -CircularAllocator "0..n" *-- Slot -CircularAllocator ..> CircularAllocator : GetUnderlyingBufferFor()\nReleaseSlot() - -FileOutputBackend ..> CircularAllocator : AcquireSlotToWrite()\nGetUnderlyingBufferFor() -SlotDrainer ..> CircularAllocator : GetUnderlyingBufferFor()\nReleaseSlot() - -CircularBuffer ..> CircularAllocator : Created based on CircularAllocatorSize - -DltMessageBuilder *-- LoggingIdentifier -DltMessageBuilder *-- VerbosePayload -TextMessageBuilder *-- LoggingIdentifier -TextMessageBuilder *-- VerbosePayload - -Recorder ..> Fcntl : open\nSetNonBlocking / fctrl call -Recorder ..> OsalUnistd2 : close - -' Notes -note right of NonBlockingWriter - Test strategy: - Inject OSAL mock - by constructor argument - with default value -end note - -note right of FileOutputBackend - Test strategy: - Inject NonBlocking Writer - and using OSAL mock - Configure circular buffer size - Use MessageBuilderMock -end note - -note right of IMessageBuilder - Test strategy: - Insert the data, verify outcome -end note - -note top of CircularBuffer - Test strategy: - using score::cpp::circular_buffer - not tested here -end note - -note bottom of CircularBuffer - By design we exclude possibility of dropped - messages in CircularBuffer because the - size of SlotAllocator is smaller or less - than CircularBuffer size. - - Size of score::cpp::CircularBuffer -end note - -note right of LogRecord - Test strategy: - Tested in data_router -end note - -note bottom of FileOutputBackend - Test strategy: - Test just a glue code and - not underlying classes - Inject SlotDrainer with - mocked OSAL - Use MessageBuilderMock - - Only place that messages - may be dropped for the - reason of failure to get buffer - from SlotAllocator -end note - -note bottom of BackendLogMock - Mock -end note - -note bottom of LogRecord - Note.. - - Used for data types - that differ from message to message -end note - -note as SyncNote - Synchronised access only: guarded by SlotDrainer context mutex. -end note - -SyncNote .. IMessageBuilder -SyncNote .. NonBlockingWriter - -@enduml diff --git a/score/mw/log/design/mw_log_recorders.puml b/score/mw/log/design/mw_log_recorders.puml deleted file mode 100644 index 995deff1..00000000 --- a/score/mw/log/design/mw_log_recorders.puml +++ /dev/null @@ -1,172 +0,0 @@ -@startuml mw_log_recorders - -' Interface -interface "mw::log::Recorder" as Recorder { - + StartRecord(ctx:std::string_view, log_level:LogLevel) : score::cpp::optional - + StopRecord(slot:SlotHandle&): void - + Log(const SlotHandle&, const T data) - family of functions - + IsLogEnabled(const LogLevel&, const std::string_view): bool -} - -' Interface -interface "mw::log::detail::Backend" as Backend { - +ReserveSlot() : score::cpp::optional - +FlushSlot(slot : const SlotHandle&) - +GetLogRecord(slot : const SlotHandle&): LogRecord& -} - -' Recorder implementations -class "mw::log::detail::FileRecorder" as FileRecorder { - - backend_ : std::unique_ptr - - config_ : Configuration - __ - + FileRecorder(const detail::Configuration&,\n std::unique_ptr) - + StartRecord(ctx:std::string_view, const LogLevel): score::cpp::optional - + StopRecord(const SlotHandle&): void - + IsLogEnabled(const LogLevel&, const std::string_view): bool - + Log(const SlotHandle&, T data) - family of functions -} - -class "mw::log::detail::TextRecorder" as TextRecorder { - - backend_ : std::unique_ptr - - config_ : Configuration - - check_log_level_for_console_: bool - __ - + TextRecorder(const detail::Configuration&,\n std::unique_ptr,\n const bool) - + StartRecord(ctx:std::string_view, const LogLevel): score::cpp::optional - + StopRecord(const SlotHandle&): void - + IsLogEnabled(const LogLevel&, const std::string_view): bool - + Log(const SlotHandle&, T data) - family of functions -} - -class "mw::log::detail::DataRouterRecorder" as DataRouterRecorder { -} - -class "mw::log::detail::CompositeRecorder" as CompositeRecorder { - - recorders_ : std::vector> - __ - + CompositeRecorder(std::vector> recorders) - + StartRecord(const std::string_view, const LogLevel): score::cpp::optional - + StopRecord(slot:SlotHandle&): void - + GetRecorders(): std::vector>& - + IsLogEnabled(const LogLevel&, const std::string_view): bool - + Log(const SlotHandle&, const T) - family of functions -} - -class "mw::log::detail::EmptyRecorder" as EmptyRecorder { - + StartRecord(const std::string_view, const LogLevel):\n score::cpp::optional - + StopRecord(const SlotHandle&): void - + IsLogEnabled(const LogLevel&, const std::string_view): bool - + Log(const SlotHandle&, T data) - family of functions -} - -class "mw::log::detail::RecorderMock" as RecorderMock #pink { -} - -' Backend implementations -class "mw::log::detail::FileOutputBackend" as FileOutputBackend { -} - -class "mw::log::detail::SlogBackend" as SlogBackend { - - app_id_: std::string - - buffer_: CircularAllocator - - slog_buffer_: slog2_buffer_t - - slog_buffer_config_: slog2_buffer_set_config_t - - slog2_instance_: std::unique_ptr - __ - + SlogBackend(const std::size_t,\n const LogRecord&,\n const std::string_view,\n std::unique_ptr) - + ReserveSlot(): score::cpp::optional - + FlushSlot(const SlotHandle&): void - + GetLogRecord(const SlotHandle&): LogRecord& - __ - - Init(verbosity: std::uint8_t) : void -} - -class "mw::log::detail::DataRouterBackend" as DataRouterBackend { -} - -class "mw::log::detail::BackendMock" as BackendMock #pink { -} - -' Helper classes -class "DltArgumentCounter" as DltArgumentCounter { - - counter_ : std::uint8_t& - __ - DltArgumentCounter(std::uint8_t&) - __ - + TryAddArgument(add_argument_callback) : AddArgumentResult -} - -class "mw::log::detail::TextFormat" as TextFormat { - {static} + PutFormattedTime(VerbosePayload&) : void - {static} + TerminateLog(VerbosePayload&) : void - {static} + Log(VerbosePayload&, const T, const IntegerRepresentation) : void\n - family of functions - {static} + Log(VerbosePayload&, const T) : void\n - family of functions -} - -class "mw::log::detail::DLTFormat" as DLTFormat { - + Log(VerbosePayload&, const bool): AddArgumentResult - + Log(VerbosePayload&, T, const IntegerRepresentation):\n AddArgumentResult - family of functions -} - -class "mw::log::detail::CircularAllocator" as CircularAllocator { -} - -class "mw::log::detail::LogRecord" as LogRecord { -} - -' External dependencies -class "OSAL::fcntl" as fcntl { -} - -class "OSAL::Unistd" as Unistd { -} - -' Relationships - Recorder interface -FileRecorder .up.|> Recorder -TextRecorder .up.|> Recorder -DataRouterRecorder .up.|> Recorder -CompositeRecorder .up.|> Recorder -EmptyRecorder .up.|> Recorder -RecorderMock .up.|> Recorder - -' Relationships - Backend interface -FileOutputBackend .up.|> Backend -SlogBackend .up.|> Backend -DataRouterBackend .up.|> Backend -BackendMock .up.|> Backend - -' Composition relationships -FileRecorder *-- Backend -FileRecorder *-- DltArgumentCounter -TextRecorder *-- Backend -TextRecorder *-- DltArgumentCounter -DataRouterRecorder *-- Backend - -' Dependencies -FileRecorder ..> TextFormat : Log -FileRecorder ..> DLTFormat : uses -TextRecorder ..> TextFormat : Log -DataRouterRecorder ..> DLTFormat : uses -TextRecorder ..> DLTFormat : uses - -' Backend composition -SlogBackend *-- CircularAllocator -SlogBackend --> LogRecord : uses - -' External dependencies -FileRecorder ..> fcntl : open\nSetNonBlocking / fctrl call -FileRecorder ..> Unistd : close - -' Notes -note bottom of Recorder - Refer Recorder.h for all the Log(const SlotHandle&, const T data) - - family of functions -end note - -note top of TextFormat - Refer text_format.h for all the Log(...) - - family of functions -end note - -@enduml diff --git a/score/mw/log/design/mw_log_shared_memory_reader.puml b/score/mw/log/design/mw_log_shared_memory_reader.puml deleted file mode 100644 index 0ee176ef..00000000 --- a/score/mw/log/design/mw_log_shared_memory_reader.puml +++ /dev/null @@ -1,81 +0,0 @@ -@startuml mw_log_shared_memory_reader - -package "mw::log" { - interface "ReaderFactory" as ReaderFactory { - + Create(const std::int32_t, const pid_t): score::cpp::optional - + Default(): std::unique_ptr - } - - class "ReaderFactoryImpl" as ReaderFactoryImpl { - - mman_: score::cpp::pmr::unique_ptr - - stat_: score::cpp::pmr::unique_ptr - __ - + Create(const std::int32_t, const pid_t): score::cpp::optional - } - - class "SharedMemoryReader" as SharedMemoryReader { - - shared_data_: SharedData& - - unmap_callback_: UnmapCallback - - linear_reader_: std::optional - - acquired_data_: std::optional - - number_of_acquired_bytes_: Length - - finished_reading_after_detach_: bool - - buffer_expected_to_read_next_: std::uint32_t - - is_writer_detached_: bool - - alternating_read_only_reader_: AlternatingReadOnlyReader - - DetachWriter(): void - - IsWriterDetached(): bool - __ - + SharedMemoryReader(const SharedData&, const score::cpp::span,\n const score::cpp::span, UnmapCallback) - + Read(const TypeRegistrationCallback&, const NewRecordCallback&): std::optional - + PeekNumberOfBytesAcquiredInBuffer(const std::uint32_t): std::optional - + ReadDetached(const TypeRegistrationCallback&, const NewRecordCallback&): std::optional - + GetNumberOfDropsWithBufferFull(): Length - + GetSizeOfDropsWithBufferFull(): Length - + GetNumberOfDropsWithInvalidSize(): Length - + GetRingBufferSizeBytes(): Length - + GetNumberOfAcquiredBytes(): Length - + IsBlockReleasedByWriters(): bool - + NotifyAcquisitionSetReader(const ReadAcquireResult&): std::optional - } - - class "SharedData" as SharedData <> { - } - - class "LinearReader" as LinearReader { - - data_: score::cpp::span - - read_index_: Length - __ - + LinearReader(const score::cpp::span&) - + Read(): score::cpp::optional> - } - - class "score::os::Mman" as Mman { - } - - class "score::os::Stat" as Stat { - } - - ' Relationships - ReaderFactory <|.. ReaderFactoryImpl - ReaderFactoryImpl ..> SharedMemoryReader : <> - ReaderFactoryImpl ..> Mman : <> - ReaderFactoryImpl ..> Stat : <> - SharedMemoryReader ..> SharedData : <> - SharedMemoryReader ..> LinearReader : <> -} - -package "score::platform::datarouter" { - class "DataRouter" as DataRouter { - - subscriberDatabase_: SubscriberDatabase - - databaseCallback_ : WriteSubscriberDatabaseCallback - __ - + new_source_session(): SessionPtr - + new_subscriber_session(): SessionPtr - } - - ' Relationship - DataRouter ..> ReaderFactory : <> -} - -@enduml diff --git a/score/mw/log/design/write_factory_design.puml b/score/mw/log/design/write_factory_design.puml deleted file mode 100644 index 3fe4426c..00000000 --- a/score/mw/log/design/write_factory_design.puml +++ /dev/null @@ -1,70 +0,0 @@ -@startuml write_factory_design -' Library dependencies -package "OSAL Abstractions" { - class Unistd - class Fcntl - class Stat - class Mman - class Stdlib -} - -package "log::detail" { - class WriterFactory { - +Create(ring_buffer_size, dynamic_mode, app_id) - +GetIdentifier() - +GetFileName() - -- - -OpenAndTruncateFile(buffer_total_size, file_name, flags) - -MapSharedMemory(buffer_total_size, memfd_write, file_name) - -GetAlignedRingBufferAddress(total_size, file_name, file_open_flags) - -IsMemoryAligned(ring_buffer_address) - -ConstructSharedData(ring_buffer_address, ring_buffer_size) - -UnlinkExistingFile(file_name) - -PrepareFileNameAndUpdateOpenFlags(file_open_flags, dynamic_mode, app_id) - -GetStaticLoggingClientFilename(app_id) - } - - class SharedMemoryWriter - class SharedData -} - -' Main relationships -WriterFactory --> SharedMemoryWriter : creates - -class Mman { - +mmap(addr, length, prot, flags, fd, offset) - +munmap(addr, length) -} - - -WriterFactory --> SharedData : initializes -WriterFactory --> Unistd : uses -WriterFactory --> Fcntl : uses -WriterFactory --> Stat : uses -WriterFactory --> Mman : uses mmap(), munmap() -WriterFactory --> Stdlib : uses - -' Notes on memory allocation and deallocation -note right of WriterFactory::MapSharedMemory - Memory is allocated using Mman::mmap(), which maps a file into a shared memory region. - The size of the region is determined by the buffer_total_size parameter. - The mapped memory is used as a ring buffer for logging. - An unmap callback is set up to ensure memory is released when no longer needed. -end note - -note top of WriterFactory - WriterFactory: - - Creates and manages a shared memory ring buffer for logging. - - Allocates memory using mmap (via Mman), ensures cleanup with munmap. - - Handles file creation, naming, permissions, and instantiates SharedMemoryWriter. -end note - -note bottom of Mman - Mman abstracts POSIX memory management for safety and portability. - - mmap(addr, length, prot, flags, fd, offset): Maps files/devices into memory. - - munmap(addr, length): Releases mapped memory, preventing leaks. - All error codes are propagated to the caller for robust error handling. -end note - -SharedMemoryWriter --> SharedData : owns -@enduml diff --git a/score/mw/log/legacy_non_verbose_api/BUILD b/score/mw/log/legacy_non_verbose_api/BUILD index 1e363d80..09890eea 100644 --- a/score/mw/log/legacy_non_verbose_api/BUILD +++ b/score/mw/log/legacy_non_verbose_api/BUILD @@ -76,7 +76,7 @@ cc_test( "//score/mw/log/test/console_logging_environment", "@googletest//:gtest_main", "@score_baselibs//score/language/futurecpp:futurecpp_test_support", - "@score_baselibs//score/mw/log:frontend", + "@score_baselibs//score/mw/log:console", "@score_baselibs//score/os/mocklib:pthread_mock", "@score_baselibs//score/os/mocklib:stat_mock", "@score_baselibs//score/os/mocklib:stdlib_mock", From dca90506fd94df404d8926b6c5cd18026b73df9d Mon Sep 17 00:00:00 2001 From: Jianjun Wen Date: Wed, 4 Feb 2026 09:29:38 +0530 Subject: [PATCH 02/49] The feature adds missing warnings options to target toolchain. See references GIT_ORIGIN_SPP_REV_ID: 378074819076deffb569e20b54d37e2edece9403 --- score/mw/common_features.bzl | 1 + 1 file changed, 1 insertion(+) diff --git a/score/mw/common_features.bzl b/score/mw/common_features.bzl index 3c5175a4..c46c86fb 100644 --- a/score/mw/common_features.bzl +++ b/score/mw/common_features.bzl @@ -14,4 +14,5 @@ COMPILER_WARNING_FEATURES = [ "treat_warnings_as_errors", "additional_warnings", "strict_warnings", + "strict_warnings_no_error", ] From 90739e39fa6ec60bb325a3449d7a3221e257dbcd Mon Sep 17 00:00:00 2001 From: Jianjun Wen Date: Sun, 24 Aug 2025 14:51:22 +0200 Subject: [PATCH 03/49] DltidT struct optimization and refactoring GIT_ORIGIN_SPP_REV_ID: de390e754f7496c9e63898fa8765ddd3bbdf2aec --- score/datarouter/BUILD | 4 -- .../include/daemon/dlt_log_channel.h | 7 +- .../include/daemon/dlt_log_server.h | 4 +- score/datarouter/include/dlt/dlt_headers.h | 21 +++--- score/datarouter/include/dlt/dltid.h | 68 ++++++++++++------- .../datarouter/include/dlt/dltid_converter.h | 30 -------- .../datarouter/src/daemon/dlt_log_server.cpp | 4 +- score/datarouter/src/dlt/dltid_converter.cpp | 27 -------- .../test/ut/ut_logging/test_dltprotocol.cpp | 15 ++-- .../test/ut/ut_logging/test_dltserver.cpp | 12 ++-- .../test/ut/ut_logging/test_logparser.cpp | 5 +- 11 files changed, 76 insertions(+), 121 deletions(-) delete mode 100644 score/datarouter/include/dlt/dltid_converter.h delete mode 100644 score/datarouter/src/dlt/dltid_converter.cpp diff --git a/score/datarouter/BUILD b/score/datarouter/BUILD index 1a2b8b91..e49b99d2 100644 --- a/score/datarouter/BUILD +++ b/score/datarouter/BUILD @@ -32,16 +32,12 @@ clang_tidy_extra_checks( cc_library( name = "dltprotocol", - srcs = [ - "src/dlt/dltid_converter.cpp", - ], hdrs = [ "include/dlt/dlt_common.h", "include/dlt/dlt_headers.h", "include/dlt/dlt_protocol.h", "include/dlt/dlt_types.h", "include/dlt/dltid.h", - "include/dlt/dltid_converter.h", "include/dlt/logentry_trace.h", "include/dlt/plogfilterdesc.h", ], diff --git a/score/datarouter/include/daemon/dlt_log_channel.h b/score/datarouter/include/daemon/dlt_log_channel.h index 8c26ed22..6531a77d 100644 --- a/score/datarouter/include/daemon/dlt_log_channel.h +++ b/score/datarouter/include/daemon/dlt_log_channel.h @@ -247,8 +247,8 @@ class DltLogChannel { auto log_stream{stat_logger.LogInfo()}; log_stream << std::string(statistics_type.data(), statistics_type.size()) - << " messages in the channel:" << std::string{channel_id.Data(), channel_id.size()} << ": count " - << statistics.stats_msgcnt << ", size " << statistics.stats_totalsize << " bytes (" + << " messages in the channel:" << channel_id.Data() << ": count " << statistics.stats_msgcnt + << ", size " << statistics.stats_totalsize << " bytes (" << statistics.stats_totalsize / kBandwidthDenominator << " kiB/s)" << "failed to send: total count " << statistics.send_failures_count; @@ -288,8 +288,7 @@ class DltLogChannel }); auto&& log_stream = stat_logger.LogInfo(); - log_stream << "dlt stats: non-verbose messages in channel:" << std::string{channel_id.Data(), channel_id.size()} - << " sent data by message id."; + log_stream << "dlt stats: non-verbose messages in channel:" << channel_id.Data() << " sent data by message id."; std::for_each( begin(dlt_non_verbose_diagnostics), end(dlt_non_verbose_diagnostics), [&log_stream](const auto& elem) { log_stream << "Msgid:" << elem.first << " bytes:" << elem.second << " (" diff --git a/score/datarouter/include/daemon/dlt_log_server.h b/score/datarouter/include/daemon/dlt_log_server.h index fbfa3a6d..a9d8057c 100644 --- a/score/datarouter/include/daemon/dlt_log_server.h +++ b/score/datarouter/include/daemon/dlt_log_server.h @@ -217,8 +217,8 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut public: std::size_t operator()(const KeyT& k) const { - auto low = static_cast(k.first.value); - auto high = static_cast(k.second.value) << 32; + auto low = static_cast(k.first.GetHash()); + auto high = static_cast(k.second.GetHash()) << 32; return std::hash{}(high | low); } }; diff --git a/score/datarouter/include/dlt/dlt_headers.h b/score/datarouter/include/dlt/dlt_headers.h index 1e8ffb7f..f7eed347 100644 --- a/score/datarouter/include/dlt/dlt_headers.h +++ b/score/datarouter/include/dlt/dlt_headers.h @@ -17,7 +17,6 @@ #include "dlt/dlt_common.h" #include "score/mw/log/detail/common/log_entry_deserialize.h" #include "score/mw/log/detail/log_entry.h" -#include "score/datarouter/include/dlt/dltid_converter.h" namespace score { @@ -79,7 +78,9 @@ inline void ConstructDltStandardHeader(DltStandardHeader& std, size_t msg_size, } inline void ConstructDltStandardHeaderExtra(DltStandardHeaderExtra& stde, DltidT ecu, uint32_t tmsp) { - std::copy_n(ecu.Data(), std::min(ecu.size(), sizeof(stde.ecu)), static_cast(stde.ecu)); + std::fill(std::begin(stde.ecu), std::end(stde.ecu), '\0'); + const auto ecu_data = ecu.Data(); + std::copy_n(ecu_data.begin(), ecu_data.size(), static_cast(stde.ecu)); stde.tmsp = DLT_HTOBE_32(tmsp); } @@ -92,8 +93,12 @@ inline void ConstructDltExtendedHeader(DltExtendedHeader& ext, ext.msin = static_cast((DLT_TYPE_LOG << DLT_MSIN_MSTP_SHIFT) | (static_cast(loglevel) << DLT_MSIN_MTIN_SHIFT) | (DLT_MSIN_VERB)); ext.noar = nor; - std::copy_n(app_id.Data(), sizeof(ext.apid), static_cast(ext.apid)); - std::copy_n(ctx_id.Data(), sizeof(ext.ctid), static_cast(ext.ctid)); + std::fill(std::begin(ext.apid), std::end(ext.apid), '\0'); + const auto app_id_data = app_id.Data(); + std::copy_n(app_id_data.begin(), app_id_data.size(), static_cast(ext.apid)); + std::fill(std::begin(ext.ctid), std::end(ext.ctid), '\0'); + const auto ctx_id_data = ctx_id.Data(); + std::copy_n(ctx_id_data.begin(), ctx_id_data.size(), static_cast(ext.ctid)); } inline void ConstructStorageVerbosePacket(uint8_t* dlt_message, @@ -117,8 +122,8 @@ inline void ConstructStorageVerbosePacket(uint8_t* dlt_message, ConstructDltExtendedHeader(hdr.ext, entry.log_level, static_cast(entry.num_of_args), - platform::ConvertToDltId(entry.app_id), - platform::ConvertToDltId(entry.ctx_id)); + platform::DltidT{entry.app_id}, + platform::DltidT{entry.ctx_id}); // avoid signed/unsigned comparison warning in std::next const auto offset = static_cast::difference_type>( sizeof(DltStorageHeader) + sizeof(DltVerboseHeader)); @@ -139,8 +144,8 @@ inline uint32_t ConstructVerboseHeader( ConstructDltExtendedHeader(header.ext, entry.log_level, static_cast(entry.num_of_args), - platform::ConvertToDltId(entry.app_id), - platform::ConvertToDltId(entry.ctx_id)); + platform::DltidT{entry.app_id}, + platform::DltidT{entry.ctx_id}); return sizeof(DltVerboseHeader); } diff --git a/score/datarouter/include/dlt/dltid.h b/score/datarouter/include/dlt/dltid.h index a201d84f..aea51aae 100644 --- a/score/datarouter/include/dlt/dltid.h +++ b/score/datarouter/include/dlt/dltid.h @@ -14,12 +14,13 @@ #ifndef SCORE_DATAROUTER_INCLUDE_DLT_DLTID_H #define SCORE_DATAROUTER_INCLUDE_DLT_DLTID_H -#include "score/mw/log/detail/logging_identifier.h" -#include +#include +#include #include #include #include +#include "score/mw/log/detail/logging_identifier.h" #include namespace score @@ -30,56 +31,71 @@ namespace platform // multiple translation units shall be declared in one and only one file. // false positive : dltid_t is only declared once in this file. // coverity[autosar_cpp14_m3_2_3_violation] -struct DltidT +class DltidT { + private: constexpr static size_t kSize{4U}; - score::mw::log::detail::LoggingIdentifier bytes; - std::int32_t value; + std::array bytes_; - DltidT() noexcept : value() {} - explicit DltidT(const char* str) noexcept : DltidT(std::string_view{str}) {} - explicit DltidT(const std::string_view str) noexcept : bytes{str}, value{} + public: + DltidT() noexcept : bytes_{'\0', '\0', '\0', '\0'} {} + + // class data members have been initialized indirectly via delegating constructor. + // coverity[autosar_cpp14_a12_6_1_violation]: Explanation above. + explicit DltidT(const std::string_view str) noexcept : DltidT() { - value = static_cast(score::mw::log::detail::LoggingIdentifier::HashFunction{}(bytes)); + const auto len = std::min(str.size(), kSize); + std::ignore = std::copy_n(str.begin(), len, bytes_.begin()); } - explicit DltidT(const std::string& str) noexcept : DltidT(std::string_view{str.data(), str.size()}) {} - explicit DltidT(const score::cpp::string_view& str) noexcept : DltidT(std::string_view{str.data(), str.size()}) {}; + explicit DltidT(const char* str) noexcept : DltidT(std::string_view{str}) {} + + explicit DltidT(const std::string& str) noexcept : DltidT(std::string_view{str}) {} - DltidT& operator=(const std::string& str) + explicit DltidT(const score::mw::log::detail::LoggingIdentifier& logging_identifier) noexcept + : DltidT{logging_identifier.GetStringView()} { - bytes = score::mw::log::detail::LoggingIdentifier(std::string_view(str)); - value = static_cast(score::mw::log::detail::LoggingIdentifier::HashFunction{}(bytes)); + } + DltidT& operator=(const std::string& str) noexcept + { + bytes_.fill('\0'); + const auto len = std::min(str.size(), kSize); + std::ignore = std::copy_n(str.data(), len, bytes_.begin()); return *this; } explicit operator std::string() const { - // Determine the length of the C-string stored in bytes, - // but do not exceed the size of the array. - return std::string(bytes.data.data(), bytes.data.size()); + const auto actual_len = std::count_if(bytes_.begin(), bytes_.end(), [](char byte) { + return byte != '\0'; + }); + return std::string(bytes_.data(), static_cast(actual_len)); } - bool operator==(const DltidT& id) const + friend bool operator==(const DltidT& lhs, const DltidT& rhs) noexcept { - return this->value == id.value; + return lhs.bytes_ == rhs.bytes_; } - char* Data() + std::string_view Data() const noexcept { - return bytes.data.data(); + const auto actual_len = std::count_if(bytes_.begin(), bytes_.end(), [](char byte) { + return byte != '\0'; + }); + return std::string_view{bytes_.data(), static_cast(actual_len)}; } - const char* Data() const + constexpr static size_t size() { - return bytes.data.data(); + return kSize; } - constexpr static size_t size() + std::int32_t GetHash() const noexcept { - return kSize; + const auto value = score::cpp::bit_cast(bytes_); + return static_cast(std::hash{}(value)); } }; @@ -99,7 +115,7 @@ struct hash { std::size_t operator()(const score::platform::DltidT& d) const noexcept { - return static_cast(d.value); + return static_cast(d.GetHash()); } }; diff --git a/score/datarouter/include/dlt/dltid_converter.h b/score/datarouter/include/dlt/dltid_converter.h deleted file mode 100644 index 585bf6c3..00000000 --- a/score/datarouter/include/dlt/dltid_converter.h +++ /dev/null @@ -1,30 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -#ifndef SCORE_DATAROUTER_INCLUDE_DLT_DLTID_CONVERTER_H -#define SCORE_DATAROUTER_INCLUDE_DLT_DLTID_CONVERTER_H - -#include "score/mw/log/detail/logging_identifier.h" -#include "score/datarouter/include/dlt/dltid.h" - -namespace score -{ -namespace platform -{ - -DltidT ConvertToDltId(const score::mw::log::detail::LoggingIdentifier& logging_identifier); - -} // namespace platform -} // namespace score - -#endif // SCORE_DATAROUTER_INCLUDE_DLT_DLTID_CONVERTER_H diff --git a/score/datarouter/src/daemon/dlt_log_server.cpp b/score/datarouter/src/daemon/dlt_log_server.cpp index 0f946204..22e7102a 100644 --- a/score/datarouter/src/daemon/dlt_log_server.cpp +++ b/score/datarouter/src/daemon/dlt_log_server.cpp @@ -16,7 +16,6 @@ #include "score/datarouter/include/daemon/configurator_commands.h" #include "score/datarouter/include/daemon/diagnostic_job_parser.h" #include "score/datarouter/include/daemon/i_diagnostic_job_handler.h" -#include "score/datarouter/include/dlt/dltid_converter.h" #include #include @@ -53,8 +52,7 @@ void DltLogServer::SendVerbose( const auto sender = [&tmsp, &entry, this](DltLogChannel& c) { log_sender_->SendVerbose(tmsp, entry, c); }; - FilterAndCall( - platform::ConvertToDltId(entry.app_id), platform::ConvertToDltId(entry.ctx_id), entry.log_level, sender); + FilterAndCall(platform::DltidT{entry.app_id}, platform::DltidT{entry.ctx_id}, entry.log_level, sender); } void DltLogServer::SendFtVerbose(score::cpp::span data, diff --git a/score/datarouter/src/dlt/dltid_converter.cpp b/score/datarouter/src/dlt/dltid_converter.cpp deleted file mode 100644 index 18c8cad7..00000000 --- a/score/datarouter/src/dlt/dltid_converter.cpp +++ /dev/null @@ -1,27 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -#include "score/datarouter/include/dlt/dltid_converter.h" - -namespace score -{ -namespace platform -{ - -DltidT ConvertToDltId(const score::mw::log::detail::LoggingIdentifier& logging_identifier) -{ - return DltidT{logging_identifier.GetStringView()}; -} - -} // namespace platform -} // namespace score diff --git a/score/datarouter/test/ut/ut_logging/test_dltprotocol.cpp b/score/datarouter/test/ut/ut_logging/test_dltprotocol.cpp index 525e2be1..98f5b38e 100644 --- a/score/datarouter/test/ut/ut_logging/test_dltprotocol.cpp +++ b/score/datarouter/test/ut/ut_logging/test_dltprotocol.cpp @@ -219,13 +219,14 @@ TEST(DltIdTest, TestTheSingleargumentCharPointerConstructionAndGetTheData) const char* char_pointer_str{FOUR_CHAR_STRING}; score::platform::DltidT dlt_id{char_pointer_str}; - const char* get_data = dlt_id.Data(); + const auto data = dlt_id.Data(); // The size of dlt id is four. - EXPECT_EQ(get_data[0], char_pointer_str[0]); - EXPECT_EQ(get_data[1], char_pointer_str[1]); - EXPECT_EQ(get_data[2], char_pointer_str[2]); - EXPECT_EQ(get_data[3], char_pointer_str[3]); + ASSERT_EQ(data.size(), 4U); + EXPECT_EQ(data[0], char_pointer_str[0]); + EXPECT_EQ(data[1], char_pointer_str[1]); + EXPECT_EQ(data[2], char_pointer_str[2]); + EXPECT_EQ(data[3], char_pointer_str[3]); } TEST(DltIdTest, TestDltIdEqualityOperator) @@ -256,7 +257,7 @@ TEST(DltIdTest, DltIdSizeShouldBeEqualToFour) const std::string str{FOUR_CHAR_STRING}; score::platform::DltidT dlt_id{str}; - EXPECT_EQ(dlt_id.size(), score::platform::DltidT::kSize); + EXPECT_EQ(dlt_id.size(), 4U); } TEST(DltIdTest, TestDltIdAssignOperator) @@ -300,5 +301,5 @@ TEST(DltIdTest, TestHashStruct) std::hash hash_instance; std::size_t dlt_id_value = hash_instance(dlt_id); // operator() - EXPECT_EQ(dlt_id_value, dlt_id.value); + EXPECT_EQ(dlt_id_value, dlt_id.GetHash()); } diff --git a/score/datarouter/test/ut/ut_logging/test_dltserver.cpp b/score/datarouter/test/ut/ut_logging/test_dltserver.cpp index 18951417..b6314ce1 100644 --- a/score/datarouter/test/ut/ut_logging/test_dltserver.cpp +++ b/score/datarouter/test/ut/ut_logging/test_dltserver.cpp @@ -836,11 +836,10 @@ TEST(DltServerTest, ExtractIdValidInputDataExpectValidResult) const std::string input_message{"asdAPP012345678zxccvb86545"}; const size_t offset{3}; const auto ret_value = ExtractId(input_message, offset); - const std::string ret_val_string(ret_value.Data(), ret_value.size()); constexpr std::string_view kExpectedString{"APP0"}; - EXPECT_EQ(ret_val_string, kExpectedString); - EXPECT_NE(ret_value.value, 0); + EXPECT_EQ(ret_value.Data(), kExpectedString); + EXPECT_NE(ret_value.GetHash(), 0); } TEST(DltServerTest, ExtractIdNonValidInputDataExpectNonValidResult) @@ -848,11 +847,10 @@ TEST(DltServerTest, ExtractIdNonValidInputDataExpectNonValidResult) const std::string input_message; const size_t offset{static_cast(std::numeric_limits::max() + 1UL)}; const auto ret_value = ExtractId(input_message, offset); - const std::string ret_val_string(ret_value.Data(), ret_value.size()); - const std::string expected_string{0x00, 0x00, 0x00, 0x00}; + const std::string expected_string{}; - EXPECT_EQ(ret_val_string, expected_string); - EXPECT_EQ(ret_value.value, 0); + EXPECT_EQ(std::string(ret_value), expected_string); + EXPECT_EQ(ret_value.GetHash(), 0); } TEST(DltServerTest, AppendIdValidInputDataExpectValidResult) diff --git a/score/datarouter/test/ut/ut_logging/test_logparser.cpp b/score/datarouter/test/ut/ut_logging/test_logparser.cpp index 0024344b..27497641 100644 --- a/score/datarouter/test/ut/ut_logging/test_logparser.cpp +++ b/score/datarouter/test/ut/ut_logging/test_logparser.cpp @@ -54,7 +54,7 @@ STRUCT_VISITABLE(TestFilter, test_field) template std::string MakeTypeParams(DltidT ecu_id, DltidT app_id) { - return std::string(4, char(0)) + std::string(ecu_id.Data(), 4) + std::string(app_id.Data(), 4) + + return std::string(4, char(0)) + std::string(ecu_id) + std::string(app_id) + ::score::common::visitor::logger_type_string(); } @@ -62,8 +62,7 @@ template std::string MakeWrongTypeParams(DltidT ecu_id, DltidT app_id) { // Without the first four zeros. - return std::string(ecu_id.Data(), 4) + std::string(app_id.Data(), 4) + - ::score::common::visitor::logger_type_string(); + return std::string(ecu_id) + std::string(app_id) + ::score::common::visitor::logger_type_string(); } template From 43767312bc3c4b1b77b67c044977b05dd4c281ba Mon Sep 17 00:00:00 2001 From: Jianjun Wen Date: Mon, 16 Feb 2026 16:15:33 +0100 Subject: [PATCH 04/49] pas: Fix clang-tidy findings in logging Replace banned OS calls with OSAL equivalents, remove banned pragmas, add explicit constructors and member initialization defaults, and handle SIGTERM via SigWait to avoid SigAction. Also add a string literal overload to avoid array decay in log conversion. Tested: bazel build --config=spp_host_gcc //platform/aas/pas/logging:datarouter Tested: bazel build --config=arm64_qnx8 //platform/aas/pas/logging:unixdomain_server GIT_ORIGIN_SPP_REV_ID: a4b7b518a897c0038ce99fcd23133b3007a84ecd --- .../include/daemon/message_passing_server.h | 6 +-- .../datarouter/include/daemon/socketserver.h | 2 +- .../include/logparser/i_logparser.h | 12 +++--- .../include/unix_domain/unix_domain_client.h | 6 ++- .../src/unix_domain/unix_domain_client.cpp | 40 +++++++------------ .../src/unix_domain/unix_domain_server.cpp | 5 +++ 6 files changed, 33 insertions(+), 38 deletions(-) diff --git a/score/datarouter/include/daemon/message_passing_server.h b/score/datarouter/include/daemon/message_passing_server.h index 3cbf55dd..6f897541 100644 --- a/score/datarouter/include/daemon/message_passing_server.h +++ b/score/datarouter/include/daemon/message_passing_server.h @@ -102,9 +102,9 @@ class MessagePassingServer : public IMessagePassingServerSessionWrapper const score::mw::log::detail::ConnectMessageFromClient&, score::cpp::pmr::unique_ptr)>; - MessagePassingServer(SessionFactory factory, - std::shared_ptr server_factory = nullptr, - std::shared_ptr client_factory = nullptr); + explicit MessagePassingServer(SessionFactory factory, + std::shared_ptr server_factory = nullptr, + std::shared_ptr client_factory = nullptr); ~MessagePassingServer() noexcept; // for unit test only. to keep rest of functions in private diff --git a/score/datarouter/include/daemon/socketserver.h b/score/datarouter/include/daemon/socketserver.h index bd73ef01..8b75df06 100644 --- a/score/datarouter/include/daemon/socketserver.h +++ b/score/datarouter/include/daemon/socketserver.h @@ -72,7 +72,7 @@ class SocketServer { std::function load_dlt; std::function store_dlt; - bool is_dlt_enabled; + bool is_dlt_enabled{false}; }; static void Run(const std::atomic_bool& exit_requested, const bool no_adaptive_runtime) diff --git a/score/datarouter/include/logparser/i_logparser.h b/score/datarouter/include/logparser/i_logparser.h index f7f05e17..2df83998 100644 --- a/score/datarouter/include/logparser/i_logparser.h +++ b/score/datarouter/include/logparser/i_logparser.h @@ -39,12 +39,12 @@ using TimestampT = score::os::HighResolutionSteadyClock::time_point; struct TypeInfo { - const score::mw::log::config::NvMsgDescriptor* nv_msg_desc; - BufsizeT id; - std::string params; - std::string type_name; - DltidT ecu_id; - DltidT app_id; + const score::mw::log::config::NvMsgDescriptor* nv_msg_desc{nullptr}; + BufsizeT id{}; + std::string params{}; + std::string type_name{}; + DltidT ecu_id{}; + DltidT app_id{}; }; namespace internal diff --git a/score/datarouter/include/unix_domain/unix_domain_client.h b/score/datarouter/include/unix_domain/unix_domain_client.h index c104a91e..2d90aa6b 100644 --- a/score/datarouter/include/unix_domain/unix_domain_client.h +++ b/score/datarouter/include/unix_domain/unix_domain_client.h @@ -24,7 +24,8 @@ #include #include #include -#include + +#include #include @@ -92,7 +93,8 @@ class UnixDomainClient std::atomic exit_; std::mutex commands_mutex_; std::queue commands_; - std::thread client_thread_; + score::cpp::jthread client_thread_; + bool new_socket_retry_; // TODO: temporary workaround, remove diff --git a/score/datarouter/src/unix_domain/unix_domain_client.cpp b/score/datarouter/src/unix_domain/unix_domain_client.cpp index 203582af..38d9ec7a 100644 --- a/score/datarouter/src/unix_domain/unix_domain_client.cpp +++ b/score/datarouter/src/unix_domain/unix_domain_client.cpp @@ -13,6 +13,8 @@ #include "unix_domain/unix_domain_client.h" #include "score/os/pthread.h" +#include "score/os/socket.h" +#include "score/os/unistd.h" #include "score/os/utils/signal_impl.h" #include @@ -79,12 +81,10 @@ void UnixDomainClient::ClientRoutine() while (false == exit_.load()) { new_socket_retry_ = false; - // Suppressed here as it is safely used, and it is among safety headers. - // NOLINTNEXTLINE(score-banned-function) see comment above - std::int32_t fd = socket(AF_UNIX, SOCK_STREAM, 0); + const auto socket_result = score::os::Socket::instance().socket(score::os::Socket::Domain::kUnix, SOCK_STREAM, 0); using namespace std::chrono_literals; - if (fd == -1) + if (!socket_result.has_value()) { std::this_thread::sleep_for(100ms); /* @@ -97,23 +97,17 @@ void UnixDomainClient::ClientRoutine() continue; } + std::int32_t fd = socket_result.value(); + while (false == exit_.load()) { auto connect_retry_delay = 100ms; - std::int32_t ret = - connect(fd, static_cast(static_cast(&addr_)), sizeof(sockaddr_un)); - if (ret == -1) + const auto connect_result = score::os::Socket::instance().connect( + fd, static_cast(static_cast(&addr_)), sizeof(sockaddr_un)); + if (!connect_result.has_value()) { - // TODO: ENOENT was added to allow applications to run during QNX transition - // see: TicketOld-68843 - /* - Deviation from Rule M19-3-1: - - The error indicator errno shall not be used. - Justification: - - required for error handling - */ - // coverity[autosar_cpp14_m19_3_1_violation] - if (errno == ECONNREFUSED || errno == EAGAIN || errno == ENOENT) + const auto os_error = connect_result.error().GetOsDependentErrorCode(); + if (os_error == ECONNREFUSED || os_error == EAGAIN || os_error == ENOENT) { std::this_thread::sleep_for(connect_retry_delay); connect_retry_delay *= 2; @@ -137,9 +131,7 @@ void UnixDomainClient::ClientRoutine() } if (true == exit_.load() || new_socket_retry_) { - // Suppressed here as it is safely used, and it is among safety headers. - // NOLINTNEXTLINE(score-banned-function) see comment above - close(fd); + score::os::Unistd::instance().close(fd); fd = -1; break; } @@ -206,9 +198,7 @@ void UnixDomainClient::ClientRoutine() } else { - // Suppressed here as it is safely used, and it is among safety headers. - // NOLINTNEXTLINE(score-banned-function) see comment above - close(result_fd.value()); + score::os::Unistd::instance().close(result_fd.value()); } } @@ -239,9 +229,7 @@ void UnixDomainClient::ClientRoutine() } fd_.store(-1); on_disconnect_(); - // Suppressed here as it is safely used, and it is among safety headers. - // NOLINTNEXTLINE(score-banned-function) see comment above - close(fd); + score::os::Unistd::instance().close(fd); } } diff --git a/score/datarouter/src/unix_domain/unix_domain_server.cpp b/score/datarouter/src/unix_domain/unix_domain_server.cpp index 708300f2..f6dc0286 100644 --- a/score/datarouter/src/unix_domain/unix_domain_server.cpp +++ b/score/datarouter/src/unix_domain/unix_domain_server.cpp @@ -230,11 +230,16 @@ void UnixDomainServer::ProcessServerIteration(ConnectionState& state, // NOLINTBEGIN(score-banned-function) see comment above score::cpp::expected poll_ret; #ifdef __QNX__ + // NOLINTBEGIN(score-banned-preprocessor-directives) see below + // disable "useless cast" warning for the following line, as poll expects nfds_t type for the second argument, + // which may have different size in different QNX versions, and the cast ensures the correct type is used + // without causing compiler warnings on any version. DISABLE_WARNING_PUSH DISABLE_WARNING_USELESS_CAST poll_ret = score::os::SysPoll::instance().poll(state.connection_pollfd_list.data(), static_cast(size), timeout); DISABLE_WARNING_POP + // NOLINTEND(score-banned-preprocessor-directives) #else poll_ret = score::os::SysPoll::instance().poll(state.connection_pollfd_list.data(), size, timeout); #endif From 085f857a77ba3b3ea15c7614d51185ffc40268cf Mon Sep 17 00:00:00 2001 From: Jianjun Wen Date: Thu, 26 Feb 2026 09:48:56 +0100 Subject: [PATCH 05/49] Refer to puml instead of kroki GIT_ORIGIN_SPP_REV_ID: 2a88f88348334f8f330497c6768a829c2c8dd7ee --- score/mw/log/design/datarouter_backend/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/score/mw/log/design/datarouter_backend/README.md b/score/mw/log/design/datarouter_backend/README.md index 7534adf8..6b182f97 100644 --- a/score/mw/log/design/datarouter_backend/README.md +++ b/score/mw/log/design/datarouter_backend/README.md @@ -201,7 +201,7 @@ readable without synchronization. Only after reading the remaining data from the ring buffer, should Datarouter unmap the shared memory page. Then the OS should free up the used resources. -![SharedMemoryReader Class diagram](https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/swh/ddad_score/mw/log/design/mw_log_shared_memory_reader.puml) +![SharedMemoryReader Class diagram](./score/mw/log/design/mw_log_shared_memory_reader.puml) ## Limited impact of incoming messages in the logging client From 2edef437d27c6cee8721880201e46e1930425deb Mon Sep 17 00:00:00 2001 From: Jianjun Wen Date: Tue, 20 Jan 2026 14:16:24 +0100 Subject: [PATCH 06/49] bazel: set default private visibility for config visibility SWP-211841 updated the bazelrc file and other visibilities tested by building the ddad and checking for build issue GIT_ORIGIN_SPP_REV_ID: 29c5aee994cca89901362f43b0b7c4bdda96ba6c --- score/datarouter/build_configuration_flags/BUILD | 3 +++ 1 file changed, 3 insertions(+) diff --git a/score/datarouter/build_configuration_flags/BUILD b/score/datarouter/build_configuration_flags/BUILD index 126a207b..229ebce7 100644 --- a/score/datarouter/build_configuration_flags/BUILD +++ b/score/datarouter/build_configuration_flags/BUILD @@ -108,4 +108,7 @@ bool_flag( config_setting( name = "enable_local_vlan", flag_values = {":use_local_vlan": "True"}, + visibility = [ + "//score/datarouter/network:__pkg__", + ], ) From e348af2e209c3427e5a88c4b0f847702e24ef982 Mon Sep 17 00:00:00 2001 From: Jianjun Wen Date: Thu, 12 Feb 2026 10:44:53 +0100 Subject: [PATCH 07/49] remove config flag aeb_restrict_acceleration_limit GIT_ORIGIN_SPP_REV_ID: b9250202f7a761b45a6ecac867ecb8264a8ab3a5 --- score/datarouter/build_configuration_flags/BUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/score/datarouter/build_configuration_flags/BUILD b/score/datarouter/build_configuration_flags/BUILD index 229ebce7..91b51e1a 100644 --- a/score/datarouter/build_configuration_flags/BUILD +++ b/score/datarouter/build_configuration_flags/BUILD @@ -110,5 +110,6 @@ config_setting( flag_values = {":use_local_vlan": "True"}, visibility = [ "//score/datarouter/network:__pkg__", + # "@xyz//score/datarouter/network:__pkg__", ], ) From 72fca3ca4627303cb5710e4004089af4097725a1 Mon Sep 17 00:00:00 2001 From: "rahul.singh" Date: Fri, 28 Nov 2025 13:56:54 +0100 Subject: [PATCH 08/49] Promote the generic Synchronized to baselibs - Move synchronized utility and tests to platform/aas/lib/concurrency GIT_ORIGIN_SPP_REV_ID: 8a552bad85f4b8e722b26a687f6255f86be01a67 --- score/datarouter/BUILD | 6 +- score/datarouter/datarouter/data_router.h | 5 +- score/datarouter/lib/synchronized/BUILD | 52 -- .../lib/synchronized/synchronized_test.cpp | 508 ------------------ 4 files changed, 7 insertions(+), 564 deletions(-) delete mode 100644 score/datarouter/lib/synchronized/BUILD delete mode 100644 score/datarouter/lib/synchronized/synchronized_test.cpp diff --git a/score/datarouter/BUILD b/score/datarouter/BUILD index e49b99d2..d0298d0f 100644 --- a/score/datarouter/BUILD +++ b/score/datarouter/BUILD @@ -401,8 +401,8 @@ cc_library( ":logparser", ":message_passing_server", ":unixdomain_server", - "//score/datarouter/lib/synchronized:synchronized_utility", "//score/mw/log/detail/data_router/shared_memory:reader", + "@score_baselibs//score/concurrency:synchronized", "@score_baselibs//score/language/futurecpp", ], ) @@ -424,7 +424,7 @@ cc_library( ":logparser", ":message_passing_server", ":unixdomain_mock", - "//score/datarouter/lib/synchronized:synchronized_utility", + "@score_baselibs//score/concurrency:synchronized", ], ) @@ -446,7 +446,7 @@ cc_library( ":logparser_testing", ":message_passing_server", ":unixdomain_mock", - "//score/datarouter/lib/synchronized:synchronized_utility", + "@score_baselibs//score/concurrency:synchronized", ], ) diff --git a/score/datarouter/datarouter/data_router.h b/score/datarouter/datarouter/data_router.h index b0bf1070..4ebd1611 100644 --- a/score/datarouter/datarouter/data_router.h +++ b/score/datarouter/datarouter/data_router.h @@ -22,8 +22,8 @@ #include "score/datarouter/daemon_communication/session_handle_interface.h" #include "unix_domain/unix_domain_server.h" +#include "score/concurrency/synchronized.h" #include "score/mw/log/logger.h" -#include "score/datarouter/lib/synchronized/synchronized.h" #include "score/variant.hpp" @@ -43,6 +43,9 @@ using internal::ILogParser; using internal::MessagePassingServer; using internal::UnixDomainServer; +template +using Synchronized = score::concurrency::Synchronized; + std::string QuotaValueAsString(double quota) noexcept; struct LocalSubscriberData diff --git a/score/datarouter/lib/synchronized/BUILD b/score/datarouter/lib/synchronized/BUILD deleted file mode 100644 index cec9b01b..00000000 --- a/score/datarouter/lib/synchronized/BUILD +++ /dev/null @@ -1,52 +0,0 @@ -# ******************************************************************************* -# Copyright (c) 2025 Contributors to the Eclipse Foundation -# -# See the NOTICE file(s) distributed with this work for additional -# information regarding copyright ownership. -# -# This program and the accompanying materials are made available under the -# terms of the Apache License Version 2.0 which is available at -# https://www.apache.org/licenses/LICENSE-2.0 -# -# SPDX-License-Identifier: Apache-2.0 -# ******************************************************************************* - -load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") -load("@score_baselibs//score/quality/clang_tidy:extra_checks.bzl", "clang_tidy_extra_checks") - -clang_tidy_extra_checks( - name = "clang_tidy_extra_checks", - extra_features = [ - "spp_code_style_check_header_guards", - "spp_code_style_check_method_names", - "spp_code_style_check_readability", - "spp_code_style_check_type_names", - "spp_code_style_check_variable_names", - ], -) - -# Synchronized utility BUILD file - -FEAT_COMPILER_WARNINGS_AS_ERRORS = [ - "treat_warnings_as_errors", - "strict_warnings", - "additional_warnings", -] - -cc_library( - name = "synchronized_utility", - hdrs = ["synchronized.h"], - visibility = ["//visibility:public"], -) - -cc_test( - name = "synchronized_test", - srcs = ["synchronized_test.cpp"], - copts = ["-std=c++17"], - features = FEAT_COMPILER_WARNINGS_AS_ERRORS, - deps = [ - ":synchronized_utility", - "@googletest//:gtest", - "@googletest//:gtest_main", - ], -) diff --git a/score/datarouter/lib/synchronized/synchronized_test.cpp b/score/datarouter/lib/synchronized/synchronized_test.cpp deleted file mode 100644 index 93fbc244..00000000 --- a/score/datarouter/lib/synchronized/synchronized_test.cpp +++ /dev/null @@ -1,508 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -#include "../synchronized/synchronized.h" - -#include "gtest/gtest.h" -#include -#include - -using score::platform::datarouter::Synchronized; - -namespace test -{ - -struct TestStruct -{ - int value; - - int Sum() const - { - return value + 50; - } -}; - -struct MoveOnlyObject -{ - int value; - - MoveOnlyObject(int v) : value(v) {} - MoveOnlyObject(const MoveOnlyObject&) = delete; - MoveOnlyObject& operator=(const MoveOnlyObject&) = delete; - MoveOnlyObject(MoveOnlyObject&&) = default; - MoveOnlyObject& operator=(MoveOnlyObject&&) = default; -}; - -struct NoCopyNoMoveObject -{ - int value; - - NoCopyNoMoveObject(int v) : value(v) {} - NoCopyNoMoveObject(const NoCopyNoMoveObject&) = delete; - NoCopyNoMoveObject& operator=(const NoCopyNoMoveObject&) = delete; - NoCopyNoMoveObject(NoCopyNoMoveObject&&) = delete; - NoCopyNoMoveObject& operator=(NoCopyNoMoveObject&&) = delete; -}; - -struct DefaultConstructibleObject -{ - int value; - - DefaultConstructibleObject() : value(42) {} - DefaultConstructibleObject(int v) : value(v) {} -}; - -struct ParameterizedObject -{ - int x, y; - std::string name; - - ParameterizedObject(int x_val, int y_val, const std::string& n) : x(x_val), y(y_val), name(n) {} - - int Sum() const - { - return x + y; - } - const std::string& GetName() const - { - return name; - } -}; - -// Basic test fixture for synchronized utility -class SynchronizedUtilityTest : public ::testing::Test -{ - protected: - void TestSynchronizedWrapper() - { - Synchronized sync_value(42); - - int result = sync_value.WithLock([](const auto& value) noexcept { - return value; - }); - EXPECT_EQ(result, 42); - - sync_value.WithLock([](auto& value) noexcept { - value = 100; - }); - - result = sync_value.WithLock([](const auto& value) noexcept { - return value; - }); - EXPECT_EQ(result, 100); - } -}; - -// Test the synchronized wrapper template -TEST_F(SynchronizedUtilityTest, TestSynchronizedWrapperTemplate) -{ - TestSynchronizedWrapper(); -} - -// Test for thread safety with multiple threads accessing a synchronized wrapper -TEST_F(SynchronizedUtilityTest, TestThreadSafety) -{ - Synchronized counter(0); - const int num_threads = 10; - const int increments_per_thread = 1000; - - std::vector threads; - - for (int i = 0; i < num_threads; ++i) - { - threads.push_back(std::thread([&counter]() noexcept { - for (int j = 0; j < increments_per_thread; ++j) - { - counter.WithLock([](auto& value) noexcept { - ++value; - }); - } - })); - } - - for (auto& thread : threads) - { - thread.join(); - } - - int result = counter.WithLock([](auto& value) noexcept { - return value; - }); - - EXPECT_EQ(result, num_threads * increments_per_thread); -} - -TEST_F(SynchronizedUtilityTest, LockMethodBasic) -{ - Synchronized sync_int(42); - - { - auto locked_ptr = sync_int.lock(); - EXPECT_EQ(*locked_ptr, 42); - *locked_ptr = 100; - EXPECT_EQ(*locked_ptr, 100); - } - - sync_int.WithLock([](int& value) { - EXPECT_EQ(value, 100); - }); -} - -// Comprehensive TestStruct tests covering additional scenarios -TEST_F(SynchronizedUtilityTest, TestStructLockReturnValue) -{ - Synchronized sync_struct(TestStruct{42}); - - { - auto locked_ptr = sync_struct.lock(); - ASSERT_TRUE(locked_ptr); - EXPECT_EQ(locked_ptr->value, 42); - - locked_ptr->value = 100; - EXPECT_EQ(locked_ptr->value, 100); - - EXPECT_EQ((*locked_ptr).value, 100); - EXPECT_EQ((*locked_ptr).Sum(), 150); - } -} - -TEST_F(SynchronizedUtilityTest, TestStructConstLockBehavior) -{ - const Synchronized const_sync_struct(TestStruct{42}); - - { - auto const_locked_ptr = const_sync_struct.lock(); - EXPECT_EQ(const_locked_ptr->value, 42); - // const_locked_ptr->value = 100; // Should not compile - EXPECT_EQ((*const_locked_ptr).value, 42); - EXPECT_EQ((*const_locked_ptr).Sum(), 92); - } - - const_sync_struct.WithLock([](const TestStruct& s) noexcept { - EXPECT_EQ(s.value, 42); - }); -} - -TEST_F(SynchronizedUtilityTest, TestStructWithLockVariations) -{ - Synchronized sync_struct(TestStruct{42}); - - sync_struct.WithLock([](TestStruct& s) noexcept { - s.value = 100; - }); - - int result = sync_struct.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(result, 100); - - sync_struct.WithLock([](TestStruct& s) noexcept { - s.value = s.value * 2; - }); - - result = sync_struct.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(result, 200); -} - -TEST_F(SynchronizedUtilityTest, TestStructMemberFunctionPointers) -{ - Synchronized sync_struct(TestStruct{42}); - - auto result = sync_struct.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(result, 42); -} - -TEST_F(SynchronizedUtilityTest, TestStructFreeFunctionPointers) -{ - Synchronized sync_struct(TestStruct{42}); - - auto process_struct = [](TestStruct& s) noexcept { - s.value = 999; - }; - - sync_struct.WithLock(process_struct); - - auto result = sync_struct.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(result, 999); -} - -TEST_F(SynchronizedUtilityTest, TestStructLockNonConst) -{ - Synchronized sync_struct(TestStruct{42}); - - { - auto locked_ptr = sync_struct.lock(); - locked_ptr->value = 77; - EXPECT_EQ(locked_ptr->value, 77); - } - - auto result = sync_struct.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(result, 77); -} - -TEST_F(SynchronizedUtilityTest, TestStructLockConst) -{ - const Synchronized const_sync_struct(TestStruct{42}); - - { - auto const_locked_ptr = const_sync_struct.lock(); - EXPECT_EQ(const_locked_ptr->value, 42); - // const_sync_struct->value = 100; // Should not compile - } - - const_sync_struct.WithLock([](const TestStruct& s) noexcept { - EXPECT_EQ(s.value, 42); - }); -} - -TEST_F(SynchronizedUtilityTest, TestStructLambdaCaptureModes) -{ - Synchronized sync_struct(TestStruct{42}); - - int external_value = 10; - - // Test lambda with value capture - sync_struct.WithLock([external_value](TestStruct& s) noexcept { - s.value = external_value * 5; - }); - - auto result = sync_struct.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(result, 50); - - // Test lambda with reference capture - int multiplier = 4; - sync_struct.WithLock([&multiplier](TestStruct& s) noexcept { - s.value = s.value * multiplier; - }); - - result = sync_struct.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(result, 200); -} - -TEST_F(SynchronizedUtilityTest, TestStructVoidReturningLambdas) -{ - Synchronized sync_struct(TestStruct{42}); - - sync_struct.WithLock([](TestStruct& s) noexcept -> void { - s.value = 123; - }); - - auto result = sync_struct.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(result, 123); -} - -TEST_F(SynchronizedUtilityTest, TestStructCopyVsMoveSemantics) -{ - // Test construction from temporary (move semantics) - Synchronized sync_struct1(TestStruct{42}); - auto val = sync_struct1.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(val, 42); - - // Test construction from lvalue (copy semantics) - TestStruct temp_struct{55}; - Synchronized sync_struct2(temp_struct); - auto val1 = sync_struct2.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(val1, 55); - - // Test in-place construction - Synchronized sync_struct3(TestStruct{77}); - auto val2 = sync_struct3.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(val2, 77); -} - -// Test for move-only objects -TEST_F(SynchronizedUtilityTest, TestMoveOnlyObject) -{ - Synchronized sync_obj(150); - - auto result = sync_obj.WithLock([](const auto& obj) noexcept { - return obj.value; - }); - EXPECT_EQ(result, 150); - - sync_obj.WithLock([](auto& obj) noexcept { - obj.value = 300; - }); - - auto val = sync_obj.WithLock([](const auto& obj) noexcept { - return obj.value; - }); - EXPECT_EQ(val, 300); -} - -// Test for objects that don't allow copy or move -TEST_F(SynchronizedUtilityTest, TestNoCopyNoMoveObject) -{ - Synchronized sync_obj(250); - - auto result = sync_obj.WithLock([](const auto& obj) noexcept { - return obj.value; - }); - EXPECT_EQ(result, 250); - - sync_obj.WithLock([](auto& obj) noexcept { - obj.value = 500; - }); - - auto val = sync_obj.WithLock([](const auto& obj) noexcept { - return obj.value; - }); - EXPECT_EQ(val, 500); -} - -// Test for default-constructible objects -TEST_F(SynchronizedUtilityTest, TestDefaultConstructedObject) -{ - Synchronized sync_obj{}; - - auto result = sync_obj.WithLock([](const auto& obj) noexcept { - return obj.value; - }); - EXPECT_EQ(result, 42); - - sync_obj.WithLock([](auto& obj) noexcept { - obj.value = 100; - }); - - auto val = sync_obj.WithLock([](const auto& obj) noexcept { - return obj.value; - }); - EXPECT_EQ(val, 100); -} - -// Test for parameterized construction -TEST_F(SynchronizedUtilityTest, TestParameterizedConstruction) -{ - Synchronized sync_obj(10, 20, "test_object"); - - auto result = sync_obj.WithLock([](const auto& obj) noexcept { - return obj.Sum(); - }); - EXPECT_EQ(result, 30); - - auto name = sync_obj.WithLock([](const auto& obj) noexcept { - return obj.GetName(); - }); - EXPECT_EQ(name, "test_object"); - - sync_obj.WithLock([](auto& obj) noexcept { - obj.x = 15; - obj.y = 25; - }); - - result = sync_obj.WithLock([](const auto& obj) noexcept { - return obj.Sum(); - }); - EXPECT_EQ(result, 40); -} - -TEST_F(SynchronizedUtilityTest, TestConstOperations) -{ - const Synchronized const_sync_struct(TestStruct{42}); - - auto result = const_sync_struct.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(result, 42); - - { - auto const_locked = const_sync_struct.lock(); - EXPECT_EQ(const_locked->value, 42); - } -} - -TEST_F(SynchronizedUtilityTest, LockAndWithLock) -{ - Synchronized sync_struct(TestStruct{42}); - - { - auto locked_ptr = sync_struct.lock(); - locked_ptr->value = 150; - EXPECT_EQ(locked_ptr->value, 150); - } - - sync_struct.WithLock([](TestStruct& s) noexcept { - s.value = 200; - }); - - auto result = sync_struct.WithLock([](const TestStruct& s) { - return s.Sum(); - }); - EXPECT_EQ(result, 250); - auto val1 = sync_struct.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(val1, 200); - - EXPECT_NO_THROW({ - sync_struct.WithLock([](const TestStruct& s) noexcept { - EXPECT_EQ(s.value, 200); - }); - }); - - auto val2 = sync_struct.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(val2, 200); -} - -TEST_F(SynchronizedUtilityTest, TestStructExceptionSafetyDetailed) -{ - Synchronized sync_struct(TestStruct{42}); - - sync_struct.WithLock([](TestStruct& s) noexcept { - s.value = 100; - }); - - EXPECT_NO_THROW({ - sync_struct.WithLock([](TestStruct& s) noexcept { - s.value = 999; - EXPECT_EQ(s.value, 999); - }); - }); - - auto val = sync_struct.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(val, 999); - - sync_struct.WithLock([](TestStruct& s) noexcept { - s.value = 200; - }); - auto val2 = sync_struct.WithLock([](const TestStruct& s) noexcept { - return s.value; - }); - EXPECT_EQ(val2, 200); -} - -} // namespace test From f4d849063d231f5588d4777a8b62620ef8232110 Mon Sep 17 00:00:00 2001 From: Ankur Satle Date: Tue, 13 Jan 2026 16:14:09 +0100 Subject: [PATCH 09/49] `lock() -> LockedPtr`; UnlockGuard via LockedPtr GIT_ORIGIN_SPP_REV_ID: 250492b205efbe4e60c1fcb9180f4f6573237e5f --- score/datarouter/BUILD | 9 ++++ score/mw/log/test/fake_recorder/BUILD | 2 +- .../log/test/fake_recorder/fake_recorder.cpp | 46 ++++++++++--------- .../mw/log/test/fake_recorder/fake_recorder.h | 9 ++-- 4 files changed, 39 insertions(+), 27 deletions(-) diff --git a/score/datarouter/BUILD b/score/datarouter/BUILD index d0298d0f..8c03aff0 100644 --- a/score/datarouter/BUILD +++ b/score/datarouter/BUILD @@ -402,8 +402,11 @@ cc_library( ":message_passing_server", ":unixdomain_server", "//score/mw/log/detail/data_router/shared_memory:reader", + "@score_baselibs//score/concurrency:locked_ptr", "@score_baselibs//score/concurrency:synchronized", + "@score_baselibs//score/concurrency:unlock_guard", "@score_baselibs//score/language/futurecpp", + "@score_baselibs//score/type_traits", ], ) @@ -424,7 +427,10 @@ cc_library( ":logparser", ":message_passing_server", ":unixdomain_mock", + "@score_baselibs//score/concurrency:locked_ptr", "@score_baselibs//score/concurrency:synchronized", + "@score_baselibs//score/concurrency:unlock_guard", + "@score_baselibs//score/type_traits", ], ) @@ -446,7 +452,10 @@ cc_library( ":logparser_testing", ":message_passing_server", ":unixdomain_mock", + "@score_baselibs//score/concurrency:locked_ptr", "@score_baselibs//score/concurrency:synchronized", + "@score_baselibs//score/concurrency:unlock_guard", + "@score_baselibs//score/type_traits", ], ) diff --git a/score/mw/log/test/fake_recorder/BUILD b/score/mw/log/test/fake_recorder/BUILD index 8dc32708..311cfb46 100644 --- a/score/mw/log/test/fake_recorder/BUILD +++ b/score/mw/log/test/fake_recorder/BUILD @@ -22,7 +22,7 @@ cc_library( features = COMPILER_WARNING_FEATURES, visibility = ["//visibility:public"], deps = [ - "//score/datarouter/lib/synchronized:synchronized_utility", + "@score_baselibs//score/concurrency:synchronized", "@score_baselibs//score/language/futurecpp", "@score_baselibs//score/mw/log:recorder", ], diff --git a/score/mw/log/test/fake_recorder/fake_recorder.cpp b/score/mw/log/test/fake_recorder/fake_recorder.cpp index b76df032..d28a70d5 100644 --- a/score/mw/log/test/fake_recorder/fake_recorder.cpp +++ b/score/mw/log/test/fake_recorder/fake_recorder.cpp @@ -12,6 +12,7 @@ ********************************************************************************/ #include "score/mw/log/test/fake_recorder/fake_recorder.h" +#include #include #include #include @@ -41,16 +42,17 @@ std::string ToBinaryString(std::uint64_t value) score::cpp::optional FakeRecorder::StartRecord(const std::string_view /*context_id*/, const LogLevel /*log_level*/) noexcept { - return state_.WithLock([](State& s) -> score::cpp::optional { - for (std::size_t i = 0U; i < kMaxSlots; ++i) + return state_.with_lock([](SyncState::const_pointer state) -> score::cpp::optional { + auto found = std::find(begin(state->in_flight), end(state->in_flight), std::nullopt); + if (found != end(state->in_flight)) { - if (!s.in_flight[i].has_value()) - { - s.in_flight[i].emplace(); - return SlotHandle(static_cast(i)); - } + auto index = static_cast(std::distance(begin(state->in_flight), found)); + return SlotHandle(index); + } + else + { + return {}; // std::nullopt; } - return {}; }); } @@ -185,16 +187,16 @@ void FakeRecorder::Log(const SlotHandle& slot, const LogBin64 data) noexcept std::vector FakeRecorder::GetRecordedMessages() const noexcept { - return state_.WithLock([](const State& s) { - return s.recorded_messages; + return state_.with_lock([](SyncState::const_pointer locked_state) { + return locked_state->recorded_messages; }); } void FakeRecorder::ClearRecordedMessages() noexcept { - state_.WithLock([](State& s) { - s.recorded_messages.clear(); - for (auto& slot : s.in_flight) + state_.with_lock([](SyncState::pointer locked_state) { + locked_state->recorded_messages.clear(); + for (auto& slot : locked_state->in_flight) { slot.reset(); } @@ -204,12 +206,12 @@ void FakeRecorder::ClearRecordedMessages() noexcept void FakeRecorder::AppendToSlot(const SlotHandle& slot, const std::string_view text) noexcept { const auto idx = static_cast(slot.GetSlotOfSelectedRecorder()); - state_.WithLock([idx, text](State& s) { - if (!s.in_flight[idx].has_value()) + state_.with_lock([idx, text](SyncState::pointer locked_state) { + if (!locked_state->in_flight[idx].has_value()) { return; } - s.in_flight[idx]->append(text); + locked_state->in_flight[idx]->append(text); }); } @@ -218,14 +220,14 @@ void FakeRecorder::FlushSlot(const SlotHandle& slot) noexcept const auto idx = static_cast(slot.GetSlotOfSelectedRecorder()); std::string msg; - state_.WithLock([&msg, idx](State& s) { - if (!s.in_flight[idx].has_value()) + state_.with_lock([&msg, idx](SyncState::pointer locked_state) { + if (!locked_state->in_flight[idx].has_value()) { return; } - msg = std::move(*s.in_flight[idx]); - s.in_flight[idx].reset(); + msg = std::move(*locked_state->in_flight[idx]); + locked_state->in_flight[idx].reset(); }); if (msg.empty()) @@ -240,8 +242,8 @@ void FakeRecorder::FlushSlot(const SlotHandle& slot) noexcept std::fflush(stdout); } - state_.WithLock([&msg](State& s) { - s.recorded_messages.push_back(std::move(msg)); + state_.with_lock([msg = std::move(msg)](SyncState::pointer locked_state) { + locked_state->recorded_messages.push_back(std::move(msg)); }); } diff --git a/score/mw/log/test/fake_recorder/fake_recorder.h b/score/mw/log/test/fake_recorder/fake_recorder.h index 87328050..24902ee1 100644 --- a/score/mw/log/test/fake_recorder/fake_recorder.h +++ b/score/mw/log/test/fake_recorder/fake_recorder.h @@ -13,8 +13,8 @@ #ifndef SCORE_MW_LOG_TEST_FAKE_RECORDER_FAKE_RECORDER_H #define SCORE_MW_LOG_TEST_FAKE_RECORDER_FAKE_RECORDER_H +#include "score/concurrency/synchronized.h" #include "score/mw/log/recorder.h" -#include "score/datarouter/lib/synchronized/synchronized.h" #include #include @@ -80,15 +80,16 @@ class FakeRecorder final : public score::mw::log::Recorder void AppendToSlot(const SlotHandle& slot, std::string_view text) noexcept; void FlushSlot(const SlotHandle& slot) noexcept; - static constexpr std::size_t kMaxSlots{256U}; - struct State { + static constexpr std::size_t kMaxSlots{256U}; std::array, kMaxSlots> in_flight{}; std::vector recorded_messages{}; }; - score::platform::datarouter::Synchronized state_{}; + using SyncState = score::concurrency::Synchronized; + + SyncState state_{}; }; } // namespace test From bfe4736c6c0cfb517a2e7172ad026c609742d856 Mon Sep 17 00:00:00 2001 From: Ankur Satle Date: Thu, 29 Jan 2026 12:25:21 +0100 Subject: [PATCH 10/49] Synchronized related cleanup in logging GIT_ORIGIN_SPP_REV_ID: 7c2c3f5d6b5f1c41dbfe64ba5750657e2b0bc442 --- score/datarouter/BUILD | 7 +- .../lib/synchronized/synchronized.h | 96 ------------------- .../log/test/fake_recorder/fake_recorder.cpp | 18 ++-- 3 files changed, 13 insertions(+), 108 deletions(-) delete mode 100644 score/datarouter/lib/synchronized/synchronized.h diff --git a/score/datarouter/BUILD b/score/datarouter/BUILD index 8c03aff0..088fcce5 100644 --- a/score/datarouter/BUILD +++ b/score/datarouter/BUILD @@ -404,9 +404,9 @@ cc_library( "//score/mw/log/detail/data_router/shared_memory:reader", "@score_baselibs//score/concurrency:locked_ptr", "@score_baselibs//score/concurrency:synchronized", + "@score_baselibs//score/concurrency:type_traits", "@score_baselibs//score/concurrency:unlock_guard", "@score_baselibs//score/language/futurecpp", - "@score_baselibs//score/type_traits", ], ) @@ -429,8 +429,8 @@ cc_library( ":unixdomain_mock", "@score_baselibs//score/concurrency:locked_ptr", "@score_baselibs//score/concurrency:synchronized", + "@score_baselibs//score/concurrency:type_traits", "@score_baselibs//score/concurrency:unlock_guard", - "@score_baselibs//score/type_traits", ], ) @@ -454,8 +454,8 @@ cc_library( ":unixdomain_mock", "@score_baselibs//score/concurrency:locked_ptr", "@score_baselibs//score/concurrency:synchronized", + "@score_baselibs//score/concurrency:type_traits", "@score_baselibs//score/concurrency:unlock_guard", - "@score_baselibs//score/type_traits", ], ) @@ -1096,7 +1096,6 @@ cc_library( test_suite( name = "unit_tests", tests = [ - "//score/datarouter/lib/synchronized:synchronized_test", #"//score/datarouter/persistent_log_request:unit_tests", #"//score/datarouter/test:unit_tests", #"//score/datarouter/tools/generator:unit_tests", diff --git a/score/datarouter/lib/synchronized/synchronized.h b/score/datarouter/lib/synchronized/synchronized.h deleted file mode 100644 index cb08412a..00000000 --- a/score/datarouter/lib/synchronized/synchronized.h +++ /dev/null @@ -1,96 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -#ifndef SCORE_DATAROUTER_LIB_SYNCHRONIZED_SYNCHRONIZED_H -#define SCORE_DATAROUTER_LIB_SYNCHRONIZED_SYNCHRONIZED_H - -#include -#include -#include -#include - -namespace score -{ -namespace platform -{ -namespace datarouter -{ - -/** - * @brief Small helper providing serialized access to an object. - * - * Synchronized wraps a T protected by a Mutex (std::mutex by default). - * - * NOTE: - * - std::mutex is non-recursive. Locking the same mutex multiple times - * from the same thread has undefined behaviour - * (see https://en.cppreference.com/w/cpp/thread/mutex/lock). - * - Therefore, calling lock() / with_lock() re-entrantly on the same - * Synchronized instance is not supported. - * - * The intended usage is simple, non-reentrant critical sections: - * Synchronized f; - * f.with_lock([](Foo& x){ x.do_something(); }); - */ -template -class Synchronized -{ - public: - template - explicit Synchronized(Args&&... args) noexcept(std::is_nothrow_constructible_v) - : obj_(std::forward(args)...) - { - } - - // Explicitly non-copyable and non-movable (by design) - Synchronized(const Synchronized&) = delete; - Synchronized(Synchronized&&) = delete; - Synchronized& operator=(const Synchronized&) = delete; - Synchronized& operator=(Synchronized&&) = delete; - - [[nodiscard]] auto lock() - { - auto unlocker = [ul = std::unique_lock(mut_)](T*) mutable {}; - return std::unique_ptr(&obj_, std::move(unlocker)); - } - - [[nodiscard]] auto lock() const - { - auto unlocker = [ul = std::unique_lock(mut_)](const T*) mutable {}; - return std::unique_ptr(&obj_, std::move(unlocker)); - } - - template - auto WithLock(Func&& f) - { - auto guard = lock(); - return std::invoke(std::forward(f), *guard); - } - - template - auto WithLock(Func&& f) const - { - auto guard = lock(); - return std::invoke(std::forward(f), *guard); - } - - private: - mutable Mutex mut_; - T obj_; -}; - -} // namespace datarouter -} // namespace platform -} // namespace score - -#endif // SCORE_DATAROUTER_LIB_SYNCHRONIZED_SYNCHRONIZED_H diff --git a/score/mw/log/test/fake_recorder/fake_recorder.cpp b/score/mw/log/test/fake_recorder/fake_recorder.cpp index d28a70d5..796aae63 100644 --- a/score/mw/log/test/fake_recorder/fake_recorder.cpp +++ b/score/mw/log/test/fake_recorder/fake_recorder.cpp @@ -42,16 +42,18 @@ std::string ToBinaryString(std::uint64_t value) score::cpp::optional FakeRecorder::StartRecord(const std::string_view /*context_id*/, const LogLevel /*log_level*/) noexcept { - return state_.with_lock([](SyncState::const_pointer state) -> score::cpp::optional { - auto found = std::find(begin(state->in_flight), end(state->in_flight), std::nullopt); + return state_.WithLock([](SyncState::pointer state) -> score::cpp::optional { + using Iter = decltype(begin(state->in_flight)); + Iter found = std::find(begin(state->in_flight), end(state->in_flight), std::nullopt); if (found != end(state->in_flight)) { auto index = static_cast(std::distance(begin(state->in_flight), found)); + *found = std::string{}; // Initialize the slot with an empty string return SlotHandle(index); } else { - return {}; // std::nullopt; + return {}; } }); } @@ -187,14 +189,14 @@ void FakeRecorder::Log(const SlotHandle& slot, const LogBin64 data) noexcept std::vector FakeRecorder::GetRecordedMessages() const noexcept { - return state_.with_lock([](SyncState::const_pointer locked_state) { + return state_.WithLock([](SyncState::const_pointer locked_state) { return locked_state->recorded_messages; }); } void FakeRecorder::ClearRecordedMessages() noexcept { - state_.with_lock([](SyncState::pointer locked_state) { + state_.WithLock([](SyncState::pointer locked_state) { locked_state->recorded_messages.clear(); for (auto& slot : locked_state->in_flight) { @@ -206,7 +208,7 @@ void FakeRecorder::ClearRecordedMessages() noexcept void FakeRecorder::AppendToSlot(const SlotHandle& slot, const std::string_view text) noexcept { const auto idx = static_cast(slot.GetSlotOfSelectedRecorder()); - state_.with_lock([idx, text](SyncState::pointer locked_state) { + state_.WithLock([idx, text](SyncState::pointer locked_state) { if (!locked_state->in_flight[idx].has_value()) { return; @@ -220,7 +222,7 @@ void FakeRecorder::FlushSlot(const SlotHandle& slot) noexcept const auto idx = static_cast(slot.GetSlotOfSelectedRecorder()); std::string msg; - state_.with_lock([&msg, idx](SyncState::pointer locked_state) { + state_.WithLock([&msg, idx](SyncState::pointer locked_state) { if (!locked_state->in_flight[idx].has_value()) { return; @@ -242,7 +244,7 @@ void FakeRecorder::FlushSlot(const SlotHandle& slot) noexcept std::fflush(stdout); } - state_.with_lock([msg = std::move(msg)](SyncState::pointer locked_state) { + state_.WithLock([msg = std::move(msg)](SyncState::pointer locked_state) { locked_state->recorded_messages.push_back(std::move(msg)); }); } From f0fc926876c38a1b4e64c0ba965325fe17d0a35b Mon Sep 17 00:00:00 2001 From: Ankur Satle Date: Fri, 6 Mar 2026 04:34:07 +0100 Subject: [PATCH 11/49] Remove concurrency internal transitive dependencies GIT_ORIGIN_SPP_REV_ID: 88f62b029a81185ad39a07b2a833a9cfa68a44f3 --- score/datarouter/BUILD | 9 --------- 1 file changed, 9 deletions(-) diff --git a/score/datarouter/BUILD b/score/datarouter/BUILD index 088fcce5..d86f7e85 100644 --- a/score/datarouter/BUILD +++ b/score/datarouter/BUILD @@ -402,10 +402,7 @@ cc_library( ":message_passing_server", ":unixdomain_server", "//score/mw/log/detail/data_router/shared_memory:reader", - "@score_baselibs//score/concurrency:locked_ptr", "@score_baselibs//score/concurrency:synchronized", - "@score_baselibs//score/concurrency:type_traits", - "@score_baselibs//score/concurrency:unlock_guard", "@score_baselibs//score/language/futurecpp", ], ) @@ -427,10 +424,7 @@ cc_library( ":logparser", ":message_passing_server", ":unixdomain_mock", - "@score_baselibs//score/concurrency:locked_ptr", "@score_baselibs//score/concurrency:synchronized", - "@score_baselibs//score/concurrency:type_traits", - "@score_baselibs//score/concurrency:unlock_guard", ], ) @@ -452,10 +446,7 @@ cc_library( ":logparser_testing", ":message_passing_server", ":unixdomain_mock", - "@score_baselibs//score/concurrency:locked_ptr", "@score_baselibs//score/concurrency:synchronized", - "@score_baselibs//score/concurrency:type_traits", - "@score_baselibs//score/concurrency:unlock_guard", ], ) From 1c013e65c6355da42f2738050119a05512451fcf Mon Sep 17 00:00:00 2001 From: Mostafa Yasin Date: Wed, 25 Feb 2026 15:17:44 +0100 Subject: [PATCH 12/49] Coverity: AUTOSAR C++14 A15-5-3 - Removed noexcept specifier. GIT_ORIGIN_SPP_REV_ID: ae5e6601dc66bfa36f26c4fbce75244b61ad55f0 --- score/mw/log/legacy_non_verbose_api/tracing.cpp | 2 +- score/mw/log/legacy_non_verbose_api/tracing.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/score/mw/log/legacy_non_verbose_api/tracing.cpp b/score/mw/log/legacy_non_verbose_api/tracing.cpp index fafcd0a6..c28dbc33 100644 --- a/score/mw/log/legacy_non_verbose_api/tracing.cpp +++ b/score/mw/log/legacy_non_verbose_api/tracing.cpp @@ -69,7 +69,7 @@ Logger::Logger(const score::cpp::optional Logger::GetLevelForContext(const std::string& name) const noexcept +std::optional Logger::GetLevelForContext(const std::string& name) const { const score::mw::log::config::NvMsgDescriptor* const msg_desc = nvconfig_.GetDltMsgDesc(name); if (msg_desc != nullptr) diff --git a/score/mw/log/legacy_non_verbose_api/tracing.h b/score/mw/log/legacy_non_verbose_api/tracing.h index 10d9d8bf..f6ceb923 100644 --- a/score/mw/log/legacy_non_verbose_api/tracing.h +++ b/score/mw/log/legacy_non_verbose_api/tracing.h @@ -154,7 +154,7 @@ class Logger private: static Logger** GetInjectedTestInstance(); - std::optional GetLevelForContext(const std::string& name) const noexcept; + std::optional GetLevelForContext(const std::string& name) const; score::mw::log::detail::Configuration config_; const score::mw::log::NvConfig nvconfig_; From ffa26e649ee54b63e5175dbeefc90cc0954dcdd1 Mon Sep 17 00:00:00 2001 From: Mostafa Yasin Date: Wed, 25 Feb 2026 15:57:04 +0100 Subject: [PATCH 13/49] Coverity: AUTOSAR C++14 A0-1-3 GIT_ORIGIN_SPP_REV_ID: 9c315ca392f22c02945d6de0995d5467289317da --- score/mw/log/legacy_non_verbose_api/tracing.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/score/mw/log/legacy_non_verbose_api/tracing.cpp b/score/mw/log/legacy_non_verbose_api/tracing.cpp index c28dbc33..6d99d9c9 100644 --- a/score/mw/log/legacy_non_verbose_api/tracing.cpp +++ b/score/mw/log/legacy_non_verbose_api/tracing.cpp @@ -69,6 +69,14 @@ Logger::Logger(const score::cpp::optional Logger::GetLevelForContext(const std::string& name) const { const score::mw::log::config::NvMsgDescriptor* const msg_desc = nvconfig_.GetDltMsgDesc(name); From 0ff823003f37d20016b8c706010aab20e0ccf3d4 Mon Sep 17 00:00:00 2001 From: Jianjun Wen Date: Fri, 13 Mar 2026 10:05:02 +0100 Subject: [PATCH 14/49] [UML] convert and update uml in mw/log - part3 Updated wait_free_producer_queue GIT_ORIGIN_SPP_REV_ID: 2e6de641e25d85584a47c286d7a3ab94d7e88137 --- .../log/design/datarouter_backend/README.md | 6 +- .../datarouter_backend/class_diagram.uxf | 1302 ----------------- .../datarouter_backend_datarouterbackend.puml | 18 + .../datarouter_backend_datarouterbackend.uxf | 2 - .../datarouter_class_diagram.puml | 330 +++++ .../inter_process_communication.puml | 45 + .../inter_process_communication.uxf | 62 - .../detail/wait_free_producer_queue/README.md | 6 +- .../design/class_diagram.puml | 64 + .../design/wait_free_alternating_buffers.puml | 94 ++ .../design/wait_free_linear_buffer.puml | 62 + 11 files changed, 619 insertions(+), 1372 deletions(-) delete mode 100644 score/mw/log/design/datarouter_backend/class_diagram.uxf create mode 100644 score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.puml delete mode 100644 score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.uxf create mode 100644 score/mw/log/design/datarouter_backend/datarouter_class_diagram.puml create mode 100644 score/mw/log/design/datarouter_backend/inter_process_communication.puml delete mode 100644 score/mw/log/design/datarouter_backend/inter_process_communication.uxf create mode 100644 score/mw/log/detail/wait_free_producer_queue/design/class_diagram.puml create mode 100644 score/mw/log/detail/wait_free_producer_queue/design/wait_free_alternating_buffers.puml create mode 100644 score/mw/log/detail/wait_free_producer_queue/design/wait_free_linear_buffer.puml diff --git a/score/mw/log/design/datarouter_backend/README.md b/score/mw/log/design/datarouter_backend/README.md index 6b182f97..90ec8705 100644 --- a/score/mw/log/design/datarouter_backend/README.md +++ b/score/mw/log/design/datarouter_backend/README.md @@ -50,7 +50,7 @@ communication over the side channel, we establish two independent unidirectional channels. On the highest level of abstraction we see the ASIL-B qualified client process on the one side and the datarouter process on the other -![Inter-process communication](https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/swh/ddad_score/mw/log/design/datarouter_backend/inter_process_communication.uxf?ref=1f63d6572c73339987778857d3e2f35b831d877b). +![Inter-process communication](./score/mw/log/design/datarouter_backend/inter_process_communication.puml). The logs are written by the client into shared memory and read-out by datarouter. Freedom of interference is ensured since the datarouter process has @@ -61,7 +61,7 @@ safety-qualified message passing library. ## Class diagram -![Class diagram](https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/swh/ddad_score/mw/log/design/datarouter_backend/class_diagram.uxf?ref=a294e8aeb6453344591cfb1780d719f4a5ea1daa) +![Class diagram](./score/mw/log/design/datarouter_backend/datarouter_class_diagram.puml) The class diagram above shows the relevant classes client-side and in Datarouter. Client-side the `DatarouterBackend` contains a circular allocator @@ -82,7 +82,7 @@ access to the ring buffer between Datarouter and the client. ## Activity diagrams -![DataRouterBackend::DataRouterBackend Activity diagram](https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/swh/ddad_score/mw/log/design/datarouter_backend_datarouterbackend.uxf?ref=5e05cd648f508d14acff7fc405f7cba93c4c5dff) +![DataRouterBackend::DataRouterBackend Activity diagram](./score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.puml) ## Lock-free Shared Memory Design diff --git a/score/mw/log/design/datarouter_backend/class_diagram.uxf b/score/mw/log/design/datarouter_backend/class_diagram.uxf deleted file mode 100644 index 3ea3dde6..00000000 --- a/score/mw/log/design/datarouter_backend/class_diagram.uxf +++ /dev/null @@ -1,1302 +0,0 @@ - - - Space for diagram notes - - 8 - - UMLClass - - 0 - 224 - 272 - 168 - - DataRouterBackend -- -- buffer_: CircularAllocator -- message_client_: DatarouterMessageClient --- -+ DataRouterBackend(const std::size_t, - const LogRecord&, - DatarouterMessageClientFactory&, - const Configuration&, - WriterFactory) -+ ReserveSlot: score::cpp::optional<SlotHandle> -+ FlushSlot((const SlotHandle&): void -+ GetLogRecord((const SlotHandle&): LogRecord& - - -bg=white -fontsize=14 - - - - UMLClass - - 1136 - 1224 - 248 - 24 - - mw::com::message_passing::IReceiver - -bg=white -fontsize=14 - - - - Relation - - 1064 - 1224 - 88 - 24 - - lt=<<<<<- - 10.0;10.0;90.0;10.0 - - - UMLClass - - 280 - 488 - 456 - 232 - - SharedMemoryWriter --- -- shared_data: SharedData& -- alternating_writer_: WaitFreeAlternatingWriter -- alternating_reader_: AlternatingReader -- unmap_callback_ : UmapCallback -- type_identifier_: atomic<TypeIdentifier> -- moved_from_: bool --- -+ SharedMemoryWriter(SharedData&, UnmapCallback) -+ SharedMemoryWriter(SharedMemoryWriter&&) -+ GetMaxPayloadSize: Length -+ AllocAndWrite(const TimePoint, const TypeIdentifier, const Length, WriteCallback): void -+ AllocAndWrite(WriteCallback, const TypeIdentifier, const Length): void -+ TryRegisterType(info: Typeinfo): optional<TypeIdentifier> -+ ReadAcquire(): ReadAcquireResult -+ DetachWriter(): void - - -bg=white -fontsize=14 - - - - UMLClass - - 296 - 360 - 176 - 72 - - <<Singleton>> -score::platform::logger --- -- writer: SharedMemoryWriter - -bg=white -fontsize=14 - - - - Relation - - 384 - 424 - 24 - 80 - - lt=<<<<<- - 10.0;10.0;10.0;80.0 - - - UMLClass - - 888 - 400 - 296 - 136 - - <<Shared Memory>> - -SharedData --- -+ control_block: AlternatingControlBlock -+ linear_buffer_1_offset: Length -+ linear_buffer_2_offset: Length -+ number_of_drops_buffer_full: std::atomic<Length> -+ number_of_drops_invalid_size: std::atomic<Length> -+ size_of_drops_buffer_full: std::atomic<Length> -+ writer_detached std::atomic<bool> -+ producer_pid: pid_t - - -bg=white -fontsize=14 - - - - Relation - - 728 - 496 - 176 - 24 - - lt=<<<<- - 10.0;10.0;200.0;10.0 - - - UMLClass - - 1136 - 1272 - 248 - 24 - - mw::com::message_passing::ISender - -bg=white -fontsize=14 - - - - Relation - - 1064 - 1272 - 88 - 24 - - lt=<<<<<- - 10.0;10.0;90.0;10.0 - - - UMLClass - - 0 - 128 - 128 - 40 - - lt=. -*mw::log* -*Datarouter backend* - -bg=white -fontsize=14 - - - - UMLClass - - 488 - 0 - 376 - 456 - - WriterFactory --- -- GetStaticLoggingClientFilename(app_id: const std::string_view): std::string -- UnlinkExistingFile(file_name: const std::string&): void -- OpenAndTruncateFile(buffer_total_size: const std::size_t, - file_name: const std::string&, - flags: const score::os::Fcntl::Open): - score::cpp::optional<int32_t> -- MapSharedMemory(buffer_total_size: const std::size_t, - memfd_write: const int32_t, - file_name: const std::string&): - score::cpp::optional<void* const> -- IsMemoryAligned(ring_buffer_address: void* const): bool -- ConstructSharedData(ring_buffer_address: void* const, - ring_buffer_size: const std::size_t): SharedData* -- PrepareFileNameAndUpdateOpenFlags( file_open_flags: score::os::Fcntl::Open&, - dynamic_mode: const bool, - app_id: const std::string_view; - :LoggingClientFileNameResult -- GetAlignedRingBufferAddress(total_size: const std::size_t , - file_name: const std::string&, - file_open_flags: const score::os::Fcntl::Open): - score::cpp::optional<void* const>; - -- osal_: OsalInstances -- mmap_result_: score::cpp::expected<void*, score::os::Error> -- unmap_callback_: UnmapCallback -- file_attributes_: LoggingClientFileNameResult --- -+ WriterFactory(OsalInstances osal) -+ Create(const std::size_t ring_size, const bool dynamic_mode, - const std::string_view app_id) - :score::cpp::optional<SharedMemoryWriter> -+ GetIdentifier(): std::string -+ GetFileName(): std::string - - -bg=white -fontsize=14 - - - - Relation - - 576 - 448 - 72 - 56 - - lt=<. -<<creates>> - 10.0;50.0;10.0;10.0 - - - Relation - - 128 - 184 - 376 - 56 - - lt=<. -<<uses>> - 450.0;20.0;10.0;20.0;10.0;50.0 - - - UMLClass - - 1280 - 160 - 128 - 32 - - score::os::Fcntl --- -fontsize=14 -bg=white - - - - Relation - - 1176 - 160 - 120 - 24 - - lt=<<<<<- - 10.0;10.0;130.0;10.0 - - - UMLClass - - 1280 - 240 - 128 - 32 - - score::os::Mman --- -fontsize=14 -bg=white - - - - Relation - - 1176 - 200 - 120 - 64 - - lt=<<<<<- - 10.0;10.0;130.0;60.0 - - - UMLClass - - 840 - 640 - 368 - 64 - - WaitFreeAlternatingWriter --- -+ Acquire(const Length length): score::cpp::optional<AlternatingAcquiredData> -+ Release(const AlternatingAcquiredData&): void - -bg=white -fontsize=14 - - - - UMLClass - - 840 - 560 - 216 - 56 - - AlternatingReader --- -+ Read(): score::cpp::optional<score::cpp::span<Byte>> -+ Switch(): void - - - -bg=white -fontsize=14 - - - - Relation - - 728 - 664 - 128 - 24 - - lt=<<<<<- - 10.0;10.0;140.0;10.0 - - - Relation - - 728 - 584 - 128 - 24 - - lt=<<<<<- - 10.0;10.0;140.0;10.0 - - - UMLClass - - 1280 - 200 - 128 - 32 - - score::os::Unistd --- -fontsize=14 -bg=white - - - - Relation - - 1176 - 176 - 120 - 56 - - lt=<<<<<- - 10.0;10.0;130.0;50.0 - - - UMLClass - - 1200 - 720 - 392 - 208 - - <<interface>> - -MessagePassingFactory --- -+ CreateReceiver(const std::string_view, - concurrency::Executor&, - const score::cpp::span<const uid_t>, - const score::mw::com::message_passing::ReceiverConfig&, - score::cpp::pmr::memory_resource*): - score::cpp::pmr::unique_ptr<score::mw::com::message_passing::IReceiver> -+ CreateSender(const std::string_view, - const score::cpp::stop_token&, - const score::mw::com::message_passing::SenderConfig&, - score::mw::com::message_passing::LoggingCallback, - score::cpp::pmr::memory_resource*): - score::cpp::pmr::unique_ptr<score::mw::com::message_passing::ISender> - - - -bg=white -fontsize=14 - - - - - Relation - - 728 - 736 - 64 - 32 - - lt=.>> - - 60.0;20.0;10.0;20.0 - - - UMLClass - - 776 - 720 - 320 - 184 - - DatarouterMessageClientFactoryImpl --- -- created_once_: bool -- config_: Configuration -- message_passing_factory_: MessagePassingFactory -- unistd_: score::os::Unistd -- pthread_: score::os::Pthread --- -+ DatarouterMessageClientFactoryImp(const Configuration&, - std::unique_ptr<MessagePassingFactory>, - std::unique_ptr<score::os::Unistd>, - std::unique_ptr<score::os::Pthread>) -+ CreateOnce(const std::string&, - const std::string&): - std::unique_ptr<DatarouterMessageClient> - - -bg=white -fontsize=14 - - - - - UMLClass - - 40 - 544 - 176 - 80 - - <<interface>> - -DatarouterMessageClient -- -+ Run(): void -+ Shutdown(): void - - -bg=white -fontsize=14 - - - - Relation - - 16 - 384 - 440 - 400 - - lt=<. - 10.0;10.0;10.0;480.0;530.0;480.0 - - - UMLClass - - 448 - 944 - 624 - 648 - - DatarouterMessageClientImpl --- -- RunConnectTask(): bool -- OnAcquireRequest(): void -- UnlinkSharedMemoryFile(): void -- HandleFirstMessageReceived(): void -- RequestInternalShutdown(): void -- CheckExitRequestAndSendConnectMessage(): void -- BuildMessage(const DatarouterMessageIdentifier&, -const score::mw::com::message_passing::MediumMessagePayload&): score::mw::com::message_passing::MediumMessage -- SendMessage(const Message&): void - -- run_started_: bool -- msg_client_ids_: MsgClientIdentifiers -- use_dynamic_datarouter_ids_: bool -- first_message_received_: std::atomic_bool -- utils_: MsgClientUtils -- unlinked_shared_memory_file_: bool -- shared_memory_writer_: SharedMemoryWriter& -- writer_file_name_: std::string -- message_passing_factory_: std::unique_ptr<MessagePassingFactory> -- monotonic_resource_buffer_: std::array<uint8_t, GetMonotonicResourceSize()> -- monotonic_resource_: score::cpp::pmr::monotonic_buffer_resource -- stop_source_: score::cpp::stop_source -- thread_pool_: score::concurrency::ThreadPool -- sender_: score::cpp::pmr::unique_ptr<score::mw::com::message_passing::ISender> -- receiver_: score::cpp::pmr::unique_ptr<score::mw::com::message_passing::IReceiver> -- connect_task_: score::concurrency::TaskResult<void> - --- -+ DatarouterMessageClientImpl(const MsgClientIdentifiers&, - MsgClientBackend, - MsgClientUtils, - const score::cpp::stop_source) -+ Run(): void -+ Shudown(): void -+ SetupReceiver(): void -+ CreateSender(): void -+ StartReceiver(): bool -+ SendConnectMessage(): void -+ SetThreadName(): void -+ ConnectToDatarouter(): void -+ BlockTermSignal(): void -+ GetReceiverIdentifier(): const std::string& -+ GetThisProcessPid(): const pid_t& -+ GetWriterFileName(): const std::string& -+ GetAppid(): const LoggingIdentifier& - -bg=white -fontsize=14 - - - - - Relation - - 64 - 616 - 432 - 344 - - lt=.>> - 520.0;410.0;520.0;350.0;10.0;350.0;10.0;10.0 - - - UMLClass - - 1136 - 1320 - 248 - 24 - - mw::com::message_passing::ShortMessage - -bg=white -fontsize=14 - - - - UMLClass - - 1136 - 1368 - 248 - 24 - - mw::com::message_passing::MediumMessage - -bg=white -fontsize=14 - - - - Relation - - 1064 - 1320 - 88 - 24 - - lt=<<<<<- - 10.0;10.0;90.0;10.0 - - - Relation - - 1064 - 1368 - 88 - 24 - - lt=<<<<<- - 10.0;10.0;90.0;10.0 - - - UMLClass - - 1136 - 968 - 248 - 240 - - MsgClientIdentifiers --- -- receiver_id_: std::string -- this_process_id_: pid_t -- app_id_ating_reader_: LoggingIdentifier -- datarouter_uid_ : uid_t -- uid_: uid_t --- -+ MsgClientIdentifiers(const std::string&, - const pid_t, - const LoggingIdentifier&, - const uid_t, - const uid_t) -+ GetReceiverID(): std::string& -+ GetThisProcID(): const pid_t& -+ GetAppID(): const LoggingIdentifier& -+ GetDatarouterUID(): uid_t -+ GetUID(): uid_t - - -bg=white -fontsize=14 - - - - Relation - - 912 - 896 - 72 - 64 - - lt=<. -<<creates>> - 10.0;60.0;10.0;10.0 - - - UMLClass - - 24 - 992 - 376 - 192 - - MsgClientBackend --- -- shared_memory_writer_: SharedMemoryWriter& -- writer_file_name_: std::string -- message_passing_factory_: std::unique_ptr<MessagePassingFactory> -- use_dynamic_datarouter_ids_ : bool --- -+ MsgClientBackend(SharedMemoryWriter&, - const std::string&, - std::unique_ptr<MessagePassingFactory>, - const bool) -+ GetShMemWriter(): SharedMemoryWriter& -+ GetWriterFilename(): const std::string& -+ GetMsgPassingFactory(): std::unique_ptr<MessagePassingFactory>& -+ IsUsingDynamicDatarouterIDs(): bool - - -bg=white -fontsize=14 - - - - Relation - - 392 - 1064 - 72 - 24 - - lt=<. - 10.0;10.0;70.0;10.0 - - - UMLClass - - 24 - 1208 - 376 - 144 - - MsgClientUtils --- -- unistd_: std::unique_ptr<score::os::Unistd> -- pthread_: std::unique_ptr<score::os::Pthread> -- signal_: std::unique_ptr<score::os::Signal> --- -+ MsgClientUtils(std::unique_ptr<score::os::Unistd>, - std::unique_ptr<score::os::Pthread>, std::unique_ptr<score::os::Signal>) -+ GetUnistd(): score::os::Unistd& -+ GetPthread(): score::os::Pthread& -+ GetSignal(): score::os::Signal& - - -bg=white -fontsize=14 - - - - - UMLClass - - 440 - 744 - 296 - 88 - - <<interface>> - -DatarouterMessageClientFactory --- -+ CreateOnce((const std::string&, (const std::string&): - std::unique_ptr<DatarouterMessageClient> - - - -bg=white -fontsize=14 - - - - - UMLClass - - 1400 - 968 - 360 - 192 - - MessagePassingFactoryImpl --- -+ CreateReceiver(const std::string_view, - concurrency::Executor&, - const score::cpp::span<const uid_t>, - const score::mw::com::message_passing::ReceiverConfig&, - score::cpp::pmr::memory_resource*): - score::cpp::pmr::unique_ptr<score::mw::com::message_passing::IReceiver> -+ CreateSender(const std::string_view, - const score::cpp::stop_token&, - const score::mw::com::message_passing::SenderConfig&, - score::mw::com::message_passing::LoggingCallback, - score::cpp::pmr::memory_resource*): - score::cpp::pmr::unique_ptr<score::mw::com::message_passing::ISender> - - -bg=white -fontsize=14 - - - - - Relation - - 1464 - 920 - 24 - 64 - - lt=.>> - - 10.0;60.0;10.0;10.0 - - - Relation - - 1088 - 736 - 128 - 24 - - lt=<- - 140.0;10.0;10.0;10.0 - - - Relation - - 1064 - 976 - 88 - 24 - - lt=<<<<<- - 10.0;10.0;90.0;10.0 - - - Relation - - 232 - 384 - 352 - 576 - - lt=->>>>> - 420.0;700.0;420.0;610.0;10.0;610.0;10.0;10.0 - - - Relation - - 120 - 384 - 24 - 176 - - lt=<- - 10.0;10.0;10.0;200.0 - - - UMLClass - - 1224 - 400 - 304 - 72 - - AlternatingControlBlock --- -+ control_block_even: LinearControlBlock -+ control_block_odd: LinearControlBlock -+ switch_count_points_active_for_writing: std::atomic<std::uint32_t> - - -bg=white -fontsize=14 - - - - UMLClass - - 1224 - 512 - 304 - 80 - - LinearControlBlock --- -+ data: score::cpp::span<Byte> -+ acquired_index: std::atomic<Length> -+ written_index: std::atomic<Length> -+ number_of_writers: std::atomic<Length> - - -bg=white -fontsize=14 - - - - Relation - - 1176 - 424 - 64 - 24 - - lt=<<<<<- - 10.0;10.0;60.0;10.0 - - - Relation - - 1352 - 464 - 24 - 64 - - lt=<<<<<- - 10.0;10.0;10.0;60.0 - - - UMLNote - - 1440 - 568 - 152 - 56 - - Note.. - -using Length = std::uint64_t; - - -bg=blue -layer=1 -fontsize=14 - - - - UMLClass - - 288 - 1376 - 112 - 32 - - score::os::Signal --- -fontsize=14 -bg=white - - - - Relation - - 856 - 160 - 96 - 24 - - lt=<<<<<- - 10.0;10.0;100.0;10.0 - - - UMLClass - - 936 - 160 - 248 - 96 - - OsalInstances --- -+ fcntl_osal: std::unique_ptr<score::os::Fcntl> -+ unistd: std::unique_ptr<score::os::Unistd> -+ mman: std::unique_ptr<score::os::Mman> -+ stat_osal: std::unique_ptr<score::os::Stat> -+ stdlib: std::unique_ptr<score::os::Stdlib> - - -fontsize=14 -bg=white - - - - UMLClass - - 1280 - 280 - 128 - 32 - - score::os::Stat --- -fontsize=14 -bg=white - - - - UMLClass - - 1280 - 320 - 128 - 32 - - score::os::Stdlib --- -fontsize=14 -bg=white - - - - Relation - - 1176 - 224 - 120 - 80 - - lt=<<<<<- - 10.0;10.0;130.0;80.0 - - - Relation - - 1176 - 240 - 120 - 112 - - lt=<<<<<- - 10.0;10.0;130.0;120.0 - - - UMLClass - - 320 - 224 - 128 - 56 - - <<ainterface>> - -Backend -- - - -bg=white -fontsize=14 - - - - Relation - - 264 - 232 - 72 - 32 - - lt=.>> - - 10.0;20.0;70.0;20.0 - - - UMLClass - - 320 - 296 - 128 - 48 - - template <typename T> -CircularAllocator -- - - -bg=white -fontsize=14 - - - - Relation - - 264 - 304 - 72 - 24 - - lt=<<<<<- - 70.0;10.0;10.0;10.0 - - - Relation - - 296 - 712 - 56 - 296 - - lt=<. - - - - - - - - - - - - - - - - -<<uses>> - 10.0;10.0;10.0;350.0 - - - Relation - - 368 - 760 - 848 - 248 - - lt=->>>>> - 1040.0;10.0;930.0;10.0;930.0;200.0;10.0;200.0;10.0;290.0 - - - Relation - - 336 - 712 - 328 - 248 - - lt=<. -<<uses>> - 10.0;10.0;10.0;170.0;390.0;170.0;390.0;290.0 - - - Relation - - 1064 - 800 - 152 - 168 - - lt=<<<<<- - 10.0;190.0;90.0;190.0;90.0;10.0;170.0;10.0 - - - UMLClass - - 1136 - 1472 - 200 - 32 - - score::concurrency::ThreadPool --- -fontsize=14 -bg=white - - - - Relation - - 1064 - 1472 - 88 - 24 - - lt=<<<<<- - 10.0;10.0;90.0;10.0 - - - UMLClass - - 152 - 1376 - 128 - 32 - - score::os::Pthread --- -fontsize=14 -bg=white - - - - UMLClass - - 24 - 1376 - 120 - 32 - - score::os::Unistd --- -fontsize=14 -bg=white - - - - Relation - - 72 - 1344 - 24 - 48 - - lt=<<<<<- - 10.0;10.0;10.0;40.0 - - - Relation - - 208 - 1344 - 24 - 48 - - lt=<<<<<- - 10.0;10.0;10.0;40.0 - - - UMLClass - - 1136 - 1520 - 272 - 136 - - ConnectMessageFromClient --- -+ appid: LoggingIdentifier -+ uid: uid_t -+ use_dynamic_identifier: bool -+ random_part: std::array<std::string::value_type, 6> -+ operator==(const ConnectMessageFromClient&, - const ConnectMessageFromClient&): bool -+ operator!=(const ConnectMessageFromClient&, - const ConnectMessageFromClient&): bool - - - -bg=white -fontsize=14 - - - - Relation - - 1064 - 1536 - 88 - 24 - - lt=<- - 90.0;10.0;10.0;10.0 - - - Relation - - 392 - 1248 - 72 - 24 - - lt=<<<<<- - 70.0;10.0;10.0;10.0 - - - Relation - - 336 - 1344 - 24 - 48 - - lt=<<<<<- - 10.0;10.0;10.0;40.0 - - - UMLClass - - 904 - 288 - 184 - 64 - - LoggingFileNameResult --- -+ file_name: std::string; -+ identifier: std::string; - - -bg=white -fontsize=14 - - - - Relation - - 856 - 312 - 64 - 24 - - lt=<<<<<- - 10.0;10.0;60.0;10.0 - - diff --git a/score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.puml b/score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.puml new file mode 100644 index 00000000..efa09d27 --- /dev/null +++ b/score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.puml @@ -0,0 +1,18 @@ +@startuml datarouter_backend_datarouterbackend + +title DataRouterBackend::DataRouterBackend + +[*] --> CreateSharedMemoryWriter + +state "Create shared memory writer" as CreateSharedMemoryWriter +state "Initialize Logger\n::score::platform::Logger::Instance(config, {}, writer)" as InitLogger +state "Create message client" as CreateMessageClient +state "Run message client" as RunMessageClient + +CreateSharedMemoryWriter --> InitLogger : [writer.has_value()] +CreateSharedMemoryWriter --> [*] : [else] +InitLogger --> CreateMessageClient +CreateMessageClient --> RunMessageClient +RunMessageClient --> [*] + +@enduml diff --git a/score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.uxf b/score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.uxf deleted file mode 100644 index 86dfd869..00000000 --- a/score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.uxf +++ /dev/null @@ -1,2 +0,0 @@ -10UMLSpecialState2001002020type=initialUMLState10015022040Create shared memory writerUMLState10022022040Create message clientUMLState10029022040Run message clientRelation2001103060lt=<-10;40;10;10Relation2001803060lt=<-10;40;10;10Relation2002503060lt=<-10;40;10;10Relation2003203060lt=<-10;40;10;10UMLSpecialState2003602020type=finalUMLObject7060280350DataRouterBackend::DataRouterBackend -valign=top \ No newline at end of file diff --git a/score/mw/log/design/datarouter_backend/datarouter_class_diagram.puml b/score/mw/log/design/datarouter_backend/datarouter_class_diagram.puml new file mode 100644 index 00000000..ab4d801e --- /dev/null +++ b/score/mw/log/design/datarouter_backend/datarouter_class_diagram.puml @@ -0,0 +1,330 @@ +@startuml data_router_class_diagram + +skinparam classAttributeIconSize 0 +skinparam linetype ortho +hide empty members + +title data_router class diagram + +package "datarouter_backend" { + class DataRouterBackend { + - buffer_: CircularAllocator + - message_client_: std::unique_ptr + + DataRouterBackend(number_of_slots: std::size_t, initial_slot_value: LogRecord&, message_client_factory: DatarouterMessageClientFactory&, config: Configuration&, writer_factory: WriterFactory) + + ReserveSlot(): score::cpp::optional + + FlushSlot(slot: SlotHandle&): void + + GetLogRecord(slot: SlotHandle&): LogRecord& + } + + interface DatarouterMessageClient { + + Run(): void + + Shutdown(): void + } + + class DatarouterMessageClientImpl { + - run_started_: bool + - msg_client_ids_: MsgClientIdentifiers + - use_dynamic_datarouter_ids_: bool + - first_message_received_: std::atomic_bool + - utils_: MsgClientUtils + - unlinked_shared_memory_file_: bool + - shared_memory_writer_: SharedMemoryWriter& + - writer_file_name_: std::string + - message_passing_factory_: std::unique_ptr + - stop_source_: score::cpp::stop_source + - sender_state_: score::cpp::optional + - sender_: score::cpp::pmr::unique_ptr + - receiver_: score::cpp::pmr::unique_ptr + - connect_thread_: score::cpp::jthread + + DatarouterMessageClientImpl(ids: MsgClientIdentifiers&, backend: MsgClientBackend, utils: MsgClientUtils, stop_source: score::cpp::stop_source) + + Run(): void + + Shutdown(): void + + SetupReceiver(): void + + CreateSender(): score::cpp::expected_blank + + StartReceiver(): bool + + SendConnectMessage(): void + + SetThreadName(): void + + ConnectToDatarouter(): void + + BlockTermSignal(): void + + GetReceiverIdentifier(): const std::string& + + GetThisProcessPid(): const pid_t& + + GetWriterFileName(): const std::string& + + GetAppid(): const LoggingIdentifier& + } + + class MsgClientBackend { + - shared_memory_writer_: SharedMemoryWriter& + - writer_file_name_: std::string + - message_passing_factory_: std::unique_ptr + - use_dynamic_datarouter_ids_: bool + + GetShMemWriter(): SharedMemoryWriter& + + GetWriterFilename(): std::string const& + + GetMsgPassingFactory(): std::unique_ptr& + + IsUsingDynamicDatarouterIDs(): bool + } + + class MsgClientIdentifiers { + - receiver_id_: std::string + - this_process_id_: pid_t + - app_id_: LoggingIdentifier + - datarouter_uid_: uid_t + - uid_: uid_t + } + + class MsgClientUtils { + - unistd_: score::cpp::pmr::unique_ptr + - pthread_: score::cpp::pmr::unique_ptr + - signal_: score::cpp::pmr::unique_ptr + + GetUnistd(): score::os::Unistd& + + GetPthread(): score::os::Pthread& + + GetSignal(): score::os::Signal& + } + + interface DatarouterMessageClientFactory { + + CreateOnce(identifier: std::string&, mwsr_file_name: std::string&): std::unique_ptr + } + + class DatarouterMessageClientFactoryImpl { + - created_once_: bool + - config_: Configuration const& + - message_passing_factory_: std::unique_ptr + - msg_client_utils_: MsgClientUtils + + CreateOnce(identifier: std::string&, mwsr_file_name: std::string&): std::unique_ptr + } + + interface MessagePassingFactory { + + CreateServer(protocol_config: ServiceProtocolConfig&, server_config: IServerFactory::ServerConfig&): std::unique_ptr + + CreateClient(protocol_config: ServiceProtocolConfig&, client_config: IClientFactory::ClientConfig&): std::unique_ptr + } + + class MessagePassingFactoryImpl { + - server_factory_: ServerFactory + - client_factory_: ClientFactory + + CreateServer(protocol_config: ServiceProtocolConfig&, server_config: IServerFactory::ServerConfig&): std::unique_ptr + + CreateClient(protocol_config: ServiceProtocolConfig&, client_config: IClientFactory::ClientConfig&): std::unique_ptr + } + + class DataRouterRecorder { + - backend_: std::unique_ptr + - config_: Configuration + - statistics_reporter_: StatisticsReporter + + StartRecord(context_id: std::string_view, log_level: LogLevel): score::cpp::optional + + StopRecord(slot: SlotHandle&): void + + IsLogEnabled(log_level: LogLevel&, context: std::string_view): bool + } + + class RemoteDltRecorderFactory { + + CreateConcreteLogRecorder(config: Configuration&, memory_resource: score::cpp::pmr::memory_resource*): std::unique_ptr + } + + enum DatarouterMessageIdentifier { + kConnect + kAcquireRequest + kAcquireResponse + } + + class ConnectMessageFromClient { + - appid_: LoggingIdentifier + - uid_: uid_t + - use_dynamic_identifier_: bool + - random_part_: std::array + + SetAppId(appid: LoggingIdentifier&): void + + SetUid(uid: uid_t): void + + SetUseDynamicIdentifier(use_dynamic_identifier: bool): void + + SetRandomPart(random_part: std::array&): void + + GetAppId(): LoggingIdentifier + + GetUid(): uid_t + + GetUseDynamicIdentifier(): bool + + GetRandomPart(): std::array + } +} + +package "shared_memory" { + class SharedData <> { + + control_block: AlternatingControlBlock + + linear_buffer_1_offset: Length + + linear_buffer_2_offset: Length + + number_of_drops_buffer_full: std::atomic + + size_of_drops_buffer_full: std::atomic + + number_of_drops_invalid_size: std::atomic + + number_of_drops_type_registration_failed: std::atomic + + writer_detached: std::atomic + + producer_pid: pid_t + } + + class BufferEntryHeader <> { + + time_stamp: TimePoint + + type_identifier: TypeIdentifier + } + + class ReadAcquireResult <> { + + acquired_buffer: std::uint32_t + } + + interface ISharedMemoryReader { + + Read(type_registration_callback: TypeRegistrationCallback&, new_message_callback: NewRecordCallback&): std::optional + + PeekNumberOfBytesAcquiredInBuffer(acquired_buffer_count_id: std::uint32_t): std::optional + + ReadDetached(type_registration_callback: TypeRegistrationCallback&, new_message_callback: NewRecordCallback&): std::optional + + NotifyAcquisitionSetReader(acquire_result: ReadAcquireResult&): std::optional + + GetNumberOfDropsWithBufferFull(): Length + + GetNumberOfDropsWithInvalidSize(): Length + + GetNumberOfDropsWithTypeRegistrationFailed(): Length + + GetSizeOfDropsWithBufferFull(): Length + + GetRingBufferSizeBytes(): Length + + IsBlockReleasedByWriters(block_count: std::uint32_t): bool + } + + class SharedMemoryReader { + - shared_data_: SharedData const& + - unmap_callback_: UnmapCallback + - linear_reader_: std::optional + - acquired_data_: std::optional + - alternating_read_only_reader_: AlternatingReadOnlyReader + + SharedMemoryReader(shared_data: SharedData&, alternating_read_only_reader: AlternatingReadOnlyReader, unmap_callback: UnmapCallback) + + Read(type_registration_callback, new_message_callback): std::optional + + PeekNumberOfBytesAcquiredInBuffer(acquired_buffer_count_id): std::optional + + ReadDetached(type_registration_callback, new_message_callback): std::optional + + NotifyAcquisitionSetReader(acquire_result): std::optional + + GetNumberOfDropsWithBufferFull(): Length + + GetNumberOfDropsWithInvalidSize(): Length + + GetNumberOfDropsWithTypeRegistrationFailed(): Length + + GetSizeOfDropsWithBufferFull(): Length + + GetRingBufferSizeBytes(): Length + + IsBlockReleasedByWriters(block_count: std::uint32_t): bool + } + + class SharedMemoryWriter { + - shared_data_: SharedData& + - alternating_writer_: WaitFreeAlternatingWriter + - alternating_reader_: AlternatingReaderProxy + - unmap_callback_: UnmapCallback + - type_identifier_: std::atomic + + AllocAndWrite(...): void + + TryRegisterType(info: Typeinfo&): score::cpp::optional + + ReadAcquire(): ReadAcquireResult + + DetachWriter(): void + + IncrementTypeRegistrationFailures(): void + } + + interface ReaderFactory { + + Create(file_descriptor: std::int32_t, expected_pid: pid_t): std::unique_ptr + + Default(memory_resource: score::cpp::pmr::memory_resource*): ReaderFactoryPtr + } + + class ReaderFactoryImpl { + - mman_: score::os::Mman + - stat_: score::os::Stat + + Create(file_descriptor: std::int32_t, expected_pid: pid_t): std::unique_ptr + } + + class WriterFactory { + - osal_: OsalInstances + - mmap_result_: score::cpp::expected + - unmap_callback_: UnmapCallback + - file_attributes_: LoggingClientFileNameResult + + Create(ring_buffer_size: std::size_t, dynamic_mode: bool, app_id: std::string_view): score::cpp::optional + + GetIdentifier(): std::string + + GetFileName(): std::string + } + + class LoggingClientFileNameResult <> { + + file_name: std::string + + identifier: std::string + } + + class "WriterFactory::OsalInstances" as OsalInstances <> { + + fcntl_osal: score::os::Fcntl + + unistd: score::os::Unistd + + mman: score::os::Mman + + stat_osal: score::os::Stat + + stdlib: score::os::Stdlib + } +} + +abstract class Backend +abstract class Recorder +abstract class "LogRecorderFactory" as LogRecorderFactoryT +interface IClientConnection +interface IServer + +Backend <|-- DataRouterBackend +Recorder <|-- DataRouterRecorder +LogRecorderFactoryT <|-- RemoteDltRecorderFactory + +DatarouterMessageClient <|-- DatarouterMessageClientImpl +DatarouterMessageClientFactory <|-- DatarouterMessageClientFactoryImpl +MessagePassingFactory <|-- MessagePassingFactoryImpl +ISharedMemoryReader <|-- SharedMemoryReader +ReaderFactory <|-- ReaderFactoryImpl + +DataRouterBackend *-- DatarouterMessageClient : owns +DataRouterBackend ..> DatarouterMessageClientFactory : creates client via +DataRouterBackend ..> WriterFactory : creates shared memory writer via +DataRouterBackend ..> Configuration : reads ring buffer config +DataRouterBackend ..> LogRecord : initializes slots + +DataRouterRecorder *-- Backend : owns +DataRouterRecorder *-- StatisticsReporter +DataRouterRecorder *-- Configuration + +RemoteDltRecorderFactory ..> DataRouterRecorder : creates +RemoteDltRecorderFactory ..> DataRouterBackend : creates +RemoteDltRecorderFactory ..> DatarouterMessageClientFactoryImpl : creates +RemoteDltRecorderFactory ..> MessagePassingFactoryImpl : creates +RemoteDltRecorderFactory ..> MsgClientUtils : creates +RemoteDltRecorderFactory ..> WriterFactory : configures + +DatarouterMessageClientFactoryImpl *-- MessagePassingFactory +DatarouterMessageClientFactoryImpl *-- MsgClientUtils +DatarouterMessageClientFactoryImpl ..> DatarouterMessageClientImpl : creates +DatarouterMessageClientFactoryImpl ..> Configuration : reads app and uid settings + +DatarouterMessageClientImpl *-- MsgClientIdentifiers +DatarouterMessageClientImpl *-- MsgClientUtils +DatarouterMessageClientImpl *-- MessagePassingFactory +DatarouterMessageClientImpl --> SharedMemoryWriter : writes acquire/connect state +DatarouterMessageClientImpl --> IClientConnection : sender +DatarouterMessageClientImpl --> IServer : receiver +DatarouterMessageClientImpl ..> MsgClientBackend : constructed from +DatarouterMessageClientImpl ..> ConnectMessageFromClient : serializes +DatarouterMessageClientImpl ..> DatarouterMessageIdentifier + +MsgClientBackend --> SharedMemoryWriter +MsgClientBackend *-- MessagePassingFactory +MsgClientIdentifiers --> LoggingIdentifier +ConnectMessageFromClient --> LoggingIdentifier + +MessagePassingFactoryImpl *-- ServerFactory +MessagePassingFactoryImpl *-- ClientFactory +MessagePassingFactoryImpl ..> IServer +MessagePassingFactoryImpl ..> IClientConnection + +WriterFactory *-- OsalInstances +WriterFactory *-- LoggingClientFileNameResult +WriterFactory ..> SharedMemoryWriter : creates + +ReaderFactory ..> ISharedMemoryReader : creates +ReaderFactoryImpl ..> SharedMemoryReader : creates + +SharedMemoryReader *-- SharedData : views +SharedMemoryWriter *-- SharedData : manages + +note right of DataRouterRecorder + Multiple Log(...) overloads are omitted + to keep the diagram focused on structure. +end note + +note bottom of DatarouterMessageClientImpl + The implementation owns sender/receiver lifecycle + and runs a background connect thread. +end note + +note bottom of WriterFactory + Creates and maps the shared memory file, + then returns a SharedMemoryWriter. +end note + +note "Focused on production classes in data_router and shared_memory.\nTests, mocks, free functions, and minor POD helper structs are intentionally omitted." as N1 +N1 .. DataRouterBackend + +@enduml diff --git a/score/mw/log/design/datarouter_backend/inter_process_communication.puml b/score/mw/log/design/datarouter_backend/inter_process_communication.puml new file mode 100644 index 00000000..de03011f --- /dev/null +++ b/score/mw/log/design/datarouter_backend/inter_process_communication.puml @@ -0,0 +1,45 @@ +@startuml inter_process_communication + +left to right direction +skinparam linetype ortho + +rectangle "<>\nLogging Client" as LoggingClient { + component "mw::log\n\nDatarouterBackend" as Backend { + component "mw::com::Receiver" as ClientReceiver + component "mw::com::Sender" as ClientSender + } +} + +rectangle "<>\nDatarouter" as Datarouter { + component "mw::com::Sender" as DrSender + component "mw::com::Receiver" as DrReceiver +} + +rectangle "Shared Memory" as SharedMemory + +LoggingClient *-down- SharedMemory : Creates and writes to\n/tmp/logging...shmem\nwith permissions 0644 +Datarouter -down-> SharedMemory : Read-only access + +ClientReceiver -0)- DrSender +ClientSender -(0- DrReceiver + +note top of ClientReceiver + Instantiates side channel to receive messages from + /mw_com/message_passing/logging.. +end note + +note top of DrSender + Creates a Sender for each client + to send requests to the client +end note + +note bottom of ClientSender + Creates a Sender to reply to requests from Datarouter +end note + +note bottom of DrReceiver + One receiver for all clients + /mw_com/message_passing/logging.datarouter_recv +end note + +@enduml diff --git a/score/mw/log/design/datarouter_backend/inter_process_communication.uxf b/score/mw/log/design/datarouter_backend/inter_process_communication.uxf deleted file mode 100644 index ece45c6c..00000000 --- a/score/mw/log/design/datarouter_backend/inter_process_communication.uxf +++ /dev/null @@ -1,62 +0,0 @@ -13Space for diagram notesUMLGeneric5278312455<<Process>> -Logging Client - -layer=1 -bg=white -fontsize=14UMLGeneric135278234455<<Process>> -Datarouter -layer=1 - -bg=white -fontsize=14UMLState78018219552Shared Memory -fontsize=12 -bg=white -fontsize=14Relation35118245578lt=<<<<<- -Creates and writes to -/tmp/logging.<appid>.<uid>.shmem -with permissions 0644 -fontsize=1410;20;330;20Relation96218241665lt=<- -Read-only access - -fontsize=1410;20;300;20Relation35132552078lt=-() -Instantiates side channel to receive messages from -/mw_com/message_passing/logging.<app>.<uid> - -bg=white -fontsize=1410;20;380;20Relation84532553378lt=)- -Creates a Sender for each client -to send requests to the client - -fontsize=1420;20;390;20UMLGeneric130156234351symbol=component -mw::log - -DatarouterBackend - -layer=2 -bg=white -fontsize=14UMLClass15633820839/mw::com::Receiver/ - -layer=3 -bg=white -fontsize=14UMLClass135232520839/mw::com::Sender/ - -layer=2 -bg=white -fontsize=14UMLClass15642920839/mw::com::Sender/ - -layer=3 -bg=white -fontsize=14UMLClass135241620839/mw::com::Receiver/ - -layer=2 -bg=white -fontsize=14Relation35141652078lt=)- -Creates a Sender -to reply to requests from Datarouter - -fontsize=14370;20;10;20Relation84541653378lt=-() -One receiver for all clients -/mw_com/message_passing/logging.datarouter_recv - -bg=white -fontsize=14390;20;10;20 diff --git a/score/mw/log/detail/wait_free_producer_queue/README.md b/score/mw/log/detail/wait_free_producer_queue/README.md index fa33d2aa..2755aa7c 100644 --- a/score/mw/log/detail/wait_free_producer_queue/README.md +++ b/score/mw/log/detail/wait_free_producer_queue/README.md @@ -123,7 +123,7 @@ other buffer. The design is divided into data structures for linear and alternating mode. The alternating mode is composed by reusing the linear entities: -![Class diagram](https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/swh/ddad_score/mw/log/detail/wait_free_producer_queue/design/class_diagram.uxf?ref=e42bb784c8567256b2c8837cd7a771e6193fc9cb) +![Class diagram](./score/mw/log/detail/wait_free_producer_queue/design/class_diagram.puml) For each mode, we extract the data members into POD structs that could be allocated on shared memory. The data structs should not be accessed directly but @@ -153,7 +153,7 @@ to finish the data for reading. This operation atomically adds the number of written bytes to the `written_index`. Thus as soon as all pending writers are finished we arrive at the equality of `written_index` and `acquire_index`. -![Linear writer sequence](https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/swh/ddad_score/mw/log/detail/wait_free_producer_queue/design/wait_free_linear_buffer.uxf?ref=109d7fea89c8f7f627b62f9e78299f067241a6ec) +![Linear writer sequence](./score/mw/log/detail/wait_free_producer_queue/design/wait_free_linear_buffer.puml) The implementation shall prevent the overflow of the running indices. This achieved by limiting the maximum allowed number of concurrent writers to some @@ -187,7 +187,7 @@ one is for writing. The figure below shows the concurrent operation of a producer and consumer thread: -![Alternating writer sequence](https://www.plantuml.com/plantuml/proxy?src=https://raw.githubusercontent.com/swh/ddad_score/mw/log/detail/wait_free_producer_queue/design/wait_free_alternating_buffers.uxf?ref=109d7fea89c8f7f627b62f9e78299f067241a6ec) +![Alternating writer sequence](./score/mw/log/detail/wait_free_producer_queue/design/wait_free_alternating_buffers.puml) In the sequence diagram, the producer thread starts to acquire data on the linear buffer 1. After that the consumer threads calls `Switch()` to toggle the diff --git a/score/mw/log/detail/wait_free_producer_queue/design/class_diagram.puml b/score/mw/log/detail/wait_free_producer_queue/design/class_diagram.puml new file mode 100644 index 00000000..fe804b32 --- /dev/null +++ b/score/mw/log/detail/wait_free_producer_queue/design/class_diagram.puml @@ -0,0 +1,64 @@ +@startuml class_diagram + +struct AcquiredData <> { + + data: score::cpp::span +} + +struct AlternatingAcquiredData <> { + + data: score::cpp::span + + control_block_id: AlternatingControlBlockSelectId +} + +class LinearControlBlock <> { + + data: score::cpp::span + + acquired_index: std::atomic + + written_index: std::atomic + + number_of_writers: std::atomic +} + +class WaitFreeLinearWriter { + + WaitFreeLinearWriter(control_block: LinearControlBlock&, pre_acquire_hook: PreAcquireHook) + + Acquire(length: Length): score::cpp::optional + + Release(acquired_data: const AcquiredData&): void +} + +class LinearReader { + + LinearReader(data: const score::cpp::span&) + + Read(): std::optional> + + GetSizeOfWholeDataBuffer(): Length +} + +class AlternatingControlBlock <> { + + control_block_even: LinearControlBlock + + control_block_odd: LinearControlBlock + + switch_count_points_active_for_writing: std::atomic +} + +class WaitFreeAlternatingWriter { + + WaitFreeAlternatingWriter(control_block: AlternatingControlBlock&) + + Acquire(length: Length): std::optional + + Release(acquired_data: const AlternatingAcquiredData&): void +} + +class AlternatingReaderProxy { + + AlternatingReaderProxy(dcb: AlternatingControlBlock&) + + Switch(): uint32_t +} + +class AlternatingReadOnlyReader { + + AlternatingReadOnlyReader(dcb: const AlternatingControlBlock&, buffer_even: score::cpp::span, buffer_odd: score::cpp::span) + + IsBlockReleasedByWriters(block_id_count: uint32_t): bool + + CreateLinearReader(block_id_count: uint32_t): LinearReader +} + +WaitFreeLinearWriter ..> LinearControlBlock : uses +WaitFreeLinearWriter ..> AcquiredData : uses +AlternatingControlBlock *-- "2" LinearControlBlock +WaitFreeAlternatingWriter *-- "2" WaitFreeLinearWriter +WaitFreeAlternatingWriter ..> AlternatingControlBlock : uses +WaitFreeAlternatingWriter ..> AlternatingAcquiredData : uses +AlternatingReaderProxy ..> AlternatingControlBlock : uses +AlternatingReadOnlyReader ..> AlternatingControlBlock : uses +AlternatingReadOnlyReader *-- LinearReader + +@enduml diff --git a/score/mw/log/detail/wait_free_producer_queue/design/wait_free_alternating_buffers.puml b/score/mw/log/detail/wait_free_producer_queue/design/wait_free_alternating_buffers.puml new file mode 100644 index 00000000..6c14f62f --- /dev/null +++ b/score/mw/log/detail/wait_free_producer_queue/design/wait_free_alternating_buffers.puml @@ -0,0 +1,94 @@ +@startuml wait_free_alternating_buffers + +participant "Producer Thread\n(WaitFreeAlternatingWriter)" as P +participant "AlternatingControlBlock" as ACB +participant "Consumer Thread\n(AlternatingReaderProxy /\nAlternatingReadOnlyReader)" as C + +note over ACB + control_block_odd.acquired_index == 0, written_index == 0, number_of_writers == 0 + control_block_even.acquired_index == 0, written_index == 0, number_of_writers == 0 + switch_count == 1 (odd → control_block_odd active for writing) +end note + +P -> ACB : Acquire(64 bytes) +note right of P + number_of_writers_odd.fetch_add(1) + acquired_index_odd.fetch_add(8 + 64) + acquired_index_odd == 72, number_of_writers_odd == 1 + AlternatingAcquiredData.data == Buffer_odd [8:72) +end note + +note over P, C: Acquire happens before Switch + +C -> ACB : Switch() +note right of C + 1. switch_count == 1 (odd) → control_block_odd active for writing + 2. Reset opposite buffer (control_block_even) for future writing: + control_block_even.acquired_index.exchange(0) + control_block_even.written_index.exchange(0) + 3. Toggle future writers to control_block_even: + switch_count.fetch_add(1) → switch_count == 2 + 4. Returns old switch_count == 1 (identifies control_block_odd for reading) +end note + +P -> ACB : WriteData(acquired_data) +note left of P: Writing on control_block_odd, range [8:72) + +P -> ACB : Release(64 bytes) +note left of P + written_index_odd.fetch_add(8 + 64) + written_index_odd == 72, number_of_writers_odd == 0 +end note + +note over P, C: Release happens before IsBlockReleasedByWriters returns true + +C -> ACB : IsBlockReleasedByWriters(switch_count=1) +note right of C + Polls until: number_of_writers_odd == 0 + AND written_index_odd == acquired_index_odd +end note + +par Concurrent writing and reading + C -> C : CreateLinearReader(switch_count=1) + note right of C + Reads control_block_odd (Buffer_odd) + read_range == [0:72) + end note + C -> C : Process Packet 1 + note right of C: Processing Buffer_odd, payload range [8:72) +else + P -> ACB : Acquire(16 bytes) + note left of P + number_of_writers_even.fetch_add(1) + acquired_index_even.fetch_add(8 + 16) + acquired_index_even == 24, number_of_writers_even == 1 + AlternatingAcquiredData.data == Buffer_even [8:24) + end note + P -> ACB : WriteData(acquired_data) + note left of P: Writing on control_block_even, range [8:24) + P -> ACB : Release(16 bytes) + note left of P + written_index_even.fetch_add(8 + 16) + written_index_even == 24, number_of_writers_even == 0 + end note +end + +note over ACB + control_block_odd.acquired_index == 72, written_index == 72, number_of_writers == 0 + control_block_even.acquired_index == 24, written_index == 24, number_of_writers == 0 + switch_count == 2 (even → control_block_even active for writing) +end note + +legend bottom + **control_block_odd (Buffer_odd) Content — Packet 1:** + | **Index Range** | **0..8** | **8..72** | + | Data | 64 | WriteData() | + | Description | Length of P1 | Payload of Producer 1 (Packet 1) | + + **control_block_even (Buffer_even) Content — Packet 2:** + | **Index Range** | **0..8** | **8..24** | + | Data | 16 | WriteData() | + | Description | Length of P2 | Payload of Producer 1 (Packet 2) | +endlegend + +@enduml diff --git a/score/mw/log/detail/wait_free_producer_queue/design/wait_free_linear_buffer.puml b/score/mw/log/detail/wait_free_producer_queue/design/wait_free_linear_buffer.puml new file mode 100644 index 00000000..37b4c134 --- /dev/null +++ b/score/mw/log/detail/wait_free_producer_queue/design/wait_free_linear_buffer.puml @@ -0,0 +1,62 @@ +@startuml wait_free_linear_buffer + +participant "Producer Thread 1\n(WaitFreeLinearWriter)" as P1 +participant "LinearControlBlock" as LCB +participant "Producer Thread 2\n(WaitFreeLinearWriter)" as P2 + +note over LCB: acquired_index == 0, written_index == 0 + +P1 -> LCB : Acquire(64 bytes) +note right of P1 + ++number_of_writers (number_of_writers == 1) + offset = acquired_index.fetch_add(8 + 64) + acquired_index == 72 + offset == 0 + length (64) written to [0:8) + AcquiredData.data == [8:72) +end note + +note over P1, P2: happens before + +P2 -> LCB : Acquire(16 bytes) +note right of P2 + ++number_of_writers (number_of_writers == 2) + offset = acquired_index.fetch_add(8 + 16) + acquired_index == 96 + offset == 72 + length (16) written to [72:80) + AcquiredData.data == [80:96) +end note + +par Concurrent Writing + note over P1: WriteDataProducer1(acquired_data)\nWriting on range [8:72) +else + note over P2: WriteDataProducer2(acquired_data)\nWriting on range [80:96) +end + +note over P1, P2: happens before + +P2 -> LCB : Release(16 bytes) +note right of P2 + written_index.fetch_add(8 + 16) + written_index == 24 + --number_of_writers (number_of_writers == 1) +end note + +P1 -> LCB : Release(64 bytes) +note right of P1 + written_index.fetch_add(8 + 64) + written_index == 24 + 72 == 96 + --number_of_writers (number_of_writers == 0) +end note + +note over LCB: acquired_index == written_index == 96, number_of_writers == 0 + +legend bottom + **Linear Buffer Content:** + | **Index Range** | **0..8** | **8..72** | **72..80** | **80..96** | + | Data | 64 | WriteDataProducer1() | 16 | WriteDataProducer2() | + | Description | Length of P1 | Payload of Producer 1 | Length of P2 | Payload of Producer 2 | +endlegend + +@enduml From aa829d0a0996a1be0d72941909e3b973441e4f15 Mon Sep 17 00:00:00 2001 From: Xavier Bonaventura Date: Wed, 25 Mar 2026 15:56:14 +0100 Subject: [PATCH 15/49] pas: Explicitly load rules_cc and rules_python load If we want to make sure that the rules C++ and Python loaded are the version we defined and not the one in Bazel, we need to explicitly add the load statement. This also becomes mandatory in Bazel 9. These changes have been done automatically with buildifier fix after adding native-cc and native-py. GIT_ORIGIN_SPP_REV_ID: cbbdc0cc3de09d237786967431114a9c40099b66 --- score/datarouter/src/dlt/nonverbose_dlt_impl/BUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/score/datarouter/src/dlt/nonverbose_dlt_impl/BUILD b/score/datarouter/src/dlt/nonverbose_dlt_impl/BUILD index 707285ef..4a33e0ab 100644 --- a/score/datarouter/src/dlt/nonverbose_dlt_impl/BUILD +++ b/score/datarouter/src/dlt/nonverbose_dlt_impl/BUILD @@ -11,6 +11,7 @@ # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* +load("@rules_cc//cc:defs.bzl", "cc_library") load("@score_baselibs//score/language/safecpp:toolchain_features.bzl", "COMPILER_WARNING_FEATURES") load("@score_baselibs//score/quality/clang_tidy:extra_checks.bzl", "clang_tidy_extra_checks") From dba24327393a14d8a01959b38c5b86d1d9e83837 Mon Sep 17 00:00:00 2001 From: Lukasz Tekieli Date: Mon, 23 Mar 2026 10:16:12 +0100 Subject: [PATCH 16/49] qnx_unit_tests: Fix flaky unix_domain_server_test bind race condition Replace fixed sleep_for waits with deterministic WaitForSocketFile() that polls for the socket file to appear, confirming bind() completed. Fixed sleeps (40-100ms) were insufficient under TCG emulation. GIT_ORIGIN_SPP_REV_ID: 771fed81f52bd6fde7609714ba70c0a3db666c44 --- .../ut/ut_logging/test_unix_domain_server.cpp | 40 ++++++++++++++----- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/score/datarouter/test/ut/ut_logging/test_unix_domain_server.cpp b/score/datarouter/test/ut/ut_logging/test_unix_domain_server.cpp index 4fe12994..79901ceb 100644 --- a/score/datarouter/test/ut/ut_logging/test_unix_domain_server.cpp +++ b/score/datarouter/test/ut/ut_logging/test_unix_domain_server.cpp @@ -20,6 +20,8 @@ #include "score/os/utils/mocklib/signalmock.h" #include "unix_domain/unix_domain_server.h" +#include + #include namespace score @@ -268,6 +270,24 @@ UnixDomainSockAddr MakeTempAddrAbstractFalse(std::string& name) return UnixDomainSockAddr(name, /*isAbstract=*/false); } +/// Block until the filesystem socket at \p path exists (i.e. bind() completed). +/// Returns true on success, false on timeout. +bool WaitForSocketFile(const std::string& path, std::chrono::milliseconds timeout = std::chrono::milliseconds(5000)) +{ + constexpr auto kPollInterval = std::chrono::milliseconds(10); + auto deadline = std::chrono::steady_clock::now() + timeout; + while (std::chrono::steady_clock::now() < deadline) + { + struct stat st{}; + if (::stat(path.c_str(), &st) == 0 && (st.st_mode & S_IFSOCK) != 0) + { + return true; + } + std::this_thread::sleep_for(kPollInterval); + } + return false; +} + TEST(UnixDomainSockAddr, NonAbstractRoundTrip) { UnixDomainSockAddr addr("datarouter_socket", false); @@ -350,7 +370,7 @@ TEST(UnixDomainServerAcceptTest, AcceptsOneClientConnection) UnixDomainSockAddr addr(path, /* isAbstract = */ false); UnixDomainServer* server = new UnixDomainServer(addr, kFactory); - std::this_thread::sleep_for(std::chrono::milliseconds(50)); + ASSERT_TRUE(WaitForSocketFile(path)) << "server did not bind in time"; // create a client socket int client = ::socket(AF_UNIX, SOCK_STREAM, 0); @@ -380,8 +400,8 @@ TEST(UnixDomainServerCleanup, DestructorProcessesPendingConnections) { UnixDomainServer server(addr, kFactory); - // give server a moment to bind & start listening - std::this_thread::sleep_for(std::chrono::milliseconds(50)); + // wait for the server to bind the socket file + ASSERT_TRUE(WaitForSocketFile(path)) << "server did not bind in time"; // open two real UNIX‐domain clients and connect them for (int i = 0; i < 2; ++i) @@ -423,7 +443,7 @@ TEST(UnixDomainServerHandleCmd, AllBranchesViaFramedMessages) UnixDomainServer server(addr, factory); - std::this_thread::sleep_for(std::chrono::milliseconds(50)); // bind & listen + ASSERT_TRUE(WaitForSocketFile(path)) << "server did not bind in time"; // open one client and connect int cfd = ::socket(AF_UNIX, SOCK_STREAM, 0); @@ -466,7 +486,7 @@ TEST(UnixDomainServerHandleCommand, IdleClientTriggersDeleteBranch) { UnixDomainServer server(addr, /*factory*/ {}); - std::this_thread::sleep_for(std::chrono::milliseconds(40)); // bind+listen + ASSERT_TRUE(WaitForSocketFile(path)) << "server did not bind in time"; /* connect client but **do not send** anything */ int cli = ::socket(AF_UNIX, SOCK_STREAM, 0); @@ -519,7 +539,7 @@ TEST(UnixDomainServerExceptions, CatchStdExceptionInServerRoutine) /* start the server (on its background thread) */ UnixDomainServer server(addr, factory); - std::this_thread::sleep_for(std::chrono::milliseconds(100)); // let bind() + ASSERT_TRUE(WaitForSocketFile(path)) << "server did not bind in time"; /* create a client, subscribe (no throw), then send a 2nd string which triggers * CommandErrorInjectingSession::on_command() */ @@ -586,7 +606,7 @@ TEST(UnixDomainServer, NotifiesClosedByPeer) UnixDomainServer server(addr, factory); - std::this_thread::sleep_for(std::chrono::milliseconds(60)); // bind & listen + ASSERT_TRUE(WaitForSocketFile(path)) << "server did not bind in time"; // create client, subscribe, then close() to simulate peer hang‑up int cfd = ::socket(AF_UNIX, SOCK_STREAM, 0); @@ -647,7 +667,7 @@ TEST(UnixDomainServer, WorkerRequeuesOnTrueTick) UnixDomainServer server(addr, MakeFactory()); - std::this_thread::sleep_for(std::chrono::milliseconds(60)); + ASSERT_TRUE(WaitForSocketFile(path)) << "server did not bind in time"; int cfd = ::socket(AF_UNIX, SOCK_STREAM, 0); ASSERT_GE(cfd, 0) << strerror(errno); @@ -695,8 +715,8 @@ TEST(UnixDomainServer, ServerCatchesSessionFailure) auto addr = MakeTempAddrAbstractFalse(path); UnixDomainServer server(addr, gKErrorInjectingFactory); - /* give server time to bind & listen */ - std::this_thread::sleep_for(std::chrono::milliseconds(80)); + /* wait for server to bind the socket file */ + ASSERT_TRUE(WaitForSocketFile(path)) << "server did not bind in time"; int cfd = ::socket(AF_UNIX, SOCK_STREAM, 0); ASSERT_GE(cfd, 0) << strerror(errno); From 7306b48d57fbd1105279da3d9914fa1c657bb783 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Fri, 20 Mar 2026 13:52:44 +0100 Subject: [PATCH 17/49] Adds RegistryAwareRecorderFactory - queries the global backend table instead of using preprocessor-based type dispatch. GIT_ORIGIN_SPP_REV_ID: 48b49e71e1e0fda6b466434984419c3b2140208d --- score/mw/log/backend/BUILD | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 score/mw/log/backend/BUILD diff --git a/score/mw/log/backend/BUILD b/score/mw/log/backend/BUILD new file mode 100644 index 00000000..ca15f13a --- /dev/null +++ b/score/mw/log/backend/BUILD @@ -0,0 +1,14 @@ +# ******************************************************************************* +# Copyright (c) 2026 Contributors to the Eclipse Foundation +# +# See the NOTICE file(s) distributed with this work for additional +# information regarding copyright ownership. +# +# This program and the accompanying materials are made available under the +# terms of the Apache License Version 2.0 which is available at +# https://www.apache.org/licenses/LICENSE-2.0 +# +# SPDX-License-Identifier: Apache-2.0 +# ******************************************************************************* + +# Backend plugin registrants for non-default log backends (file, remote, slog). From cbee23988909fd7ad8b48bb2996327e579d65244 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Fri, 20 Mar 2026 17:19:31 +0100 Subject: [PATCH 18/49] Adds file backend plugin registrant GIT_ORIGIN_SPP_REV_ID: b6e38f49d5b4649cc7999edfc0424885137c6d80 --- score/mw/log/backend/BUILD | 114 ++++++++++++++++++ score/mw/log/backend/file_registrant.cpp | 49 ++++++++ score/mw/log/backend/file_registrant_test.cpp | 59 +++++++++ score/mw/log/detail/file_recorder/BUILD | 1 + 4 files changed, 223 insertions(+) create mode 100644 score/mw/log/backend/file_registrant.cpp create mode 100644 score/mw/log/backend/file_registrant_test.cpp diff --git a/score/mw/log/backend/BUILD b/score/mw/log/backend/BUILD index ca15f13a..aecd78f6 100644 --- a/score/mw/log/backend/BUILD +++ b/score/mw/log/backend/BUILD @@ -12,3 +12,117 @@ # ******************************************************************************* # Backend plugin registrants for non-default log backends (file, remote, slog). +# Each registrant is an additive Bazel dep that registers its creator function +# into the global backend table during static initialization. + +load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") +load("@score_baselibs//:bazel/unit_tests.bzl", "cc_unit_test_suites_for_host_and_qnx") + +COMPILER_WARNING_FEATURES = [ + "treat_warnings_as_errors", + "additional_warnings", + "strict_warnings", +] + +# --- Plugin: DLT File Logging --- +# Add this dep to your binary to enable file-based DLT logging. +cc_library( + name = "file", + srcs = ["file_registrant.cpp"], + features = COMPILER_WARNING_FEATURES, + tags = ["FFI"], + visibility = ["//visibility:public"], + deps = [ + "//score/mw/log/detail/file_recorder:file_recorder_factory", + "@score_baselibs//score/mw/log:backend_table", + ], + alwayslink = True, +) + +# --- Plugin: Remote DLT via DataRouter --- +# Add this dep to your binary to enable remote DLT logging. +cc_library( + name = "remote", + srcs = ["remote_registrant.cpp"], + features = COMPILER_WARNING_FEATURES, + tags = ["FFI"], + visibility = ["//visibility:public"], + deps = [ + "//score/mw/log/detail/data_router:remote_dlt_recorder_factory", + "@score_baselibs//score/mw/log:backend_table", + ], + alwayslink = True, +) + +# --- Plugin: QNX slog2 System Logging --- +# Automatically included on QNX builds. +cc_library( + name = "slog", + srcs = ["slog_registrant.cpp"], + features = COMPILER_WARNING_FEATURES, + tags = ["FFI"], + target_compatible_with = ["@platforms//os:qnx"], + visibility = ["//visibility:public"], + deps = [ + "//score/mw/log/detail/slog:slog_recorder_factory", + "@score_baselibs//score/mw/log:backend_table", + ], + alwayslink = True, +) + +# --- Tests --- + +cc_test( + name = "file_registrant_test", + srcs = ["file_registrant_test.cpp"], + features = COMPILER_WARNING_FEATURES + [ + "aborts_upon_exception", + ], + tags = ["unit"], + deps = [ + ":file", + "@googletest//:gtest_main", + "@score_baselibs//score/mw/log:backend_table", + ], +) + +cc_test( + name = "remote_registrant_test", + srcs = ["remote_registrant_test.cpp"], + features = COMPILER_WARNING_FEATURES + [ + "aborts_upon_exception", + ], + tags = ["unit"], + deps = [ + ":remote", + "@googletest//:gtest_main", + "@score_baselibs//score/mw/log:backend_stub_testutil", + "@score_baselibs//score/mw/log:backend_table", + ], +) + +cc_test( + name = "slog_registrant_test", + srcs = ["slog_registrant_test.cpp"], + features = COMPILER_WARNING_FEATURES + [ + "aborts_upon_exception", + ], + tags = ["unit"], + target_compatible_with = ["@platforms//os:qnx"], + deps = [ + ":slog", + "@googletest//:gtest_main", + "@score_baselibs//score/mw/log:backend_table", + ], +) + +cc_unit_test_suites_for_host_and_qnx( + name = "unit_tests", + cc_unit_tests = [ + ":file_registrant_test", + ":remote_registrant_test", + ], + visibility = [ + "@score_baselibs//score/mw/log:__pkg__", + ], +) diff --git a/score/mw/log/backend/file_registrant.cpp b/score/mw/log/backend/file_registrant.cpp new file mode 100644 index 00000000..9ca6d38c --- /dev/null +++ b/score/mw/log/backend/file_registrant.cpp @@ -0,0 +1,49 @@ +/******************************************************************************** + * Copyright (c) 2026 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ +#include "score/mw/log/backend_table.h" +#include "score/mw/log/detail/file_recorder/file_recorder_factory.h" + +namespace score +{ +namespace mw +{ +namespace log +{ +namespace detail +{ +namespace +{ + +std::unique_ptr CreateFileRecorder(const Configuration& config, score::cpp::pmr::memory_resource* memory_resource) +{ + FileRecorderFactory factory{score::os::Fcntl::Default(memory_resource)}; + return factory.CreateLogRecorder(config, memory_resource); +} + +/* +Deviation from Rule A3-3-2: +- Static and thread-local objects shall be constant-initialized. +Justification: +- BackendRegistrant constructor executes during dynamic initialization to write a function + pointer into gBackendCreators[]. The target array is constant-initialized (zero-init + at load time), so it is valid before this constructor runs. The registrant struct itself + is trivially destructible. This follows the established pattern used by Runtime::Instance(). +*/ +// coverity[autosar_cpp14_a3_3_2_violation] +const BackendRegistrant kFileRegistrant{LogMode::kFile, &CreateFileRecorder}; + +} // namespace +} // namespace detail +} // namespace log +} // namespace mw +} // namespace score diff --git a/score/mw/log/backend/file_registrant_test.cpp b/score/mw/log/backend/file_registrant_test.cpp new file mode 100644 index 00000000..fb84151c --- /dev/null +++ b/score/mw/log/backend/file_registrant_test.cpp @@ -0,0 +1,59 @@ +/******************************************************************************** + * Copyright (c) 2026 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ +#include "score/mw/log/backend_table.h" + +#include "gtest/gtest.h" + +namespace score +{ +namespace mw +{ +namespace log +{ +namespace detail +{ +namespace +{ + +TEST(FileRegistrantTest, FileBackendIsRegisteredAfterStaticInitialization) +{ + RecordProperty("Description", + "The file backend registrant shall register a creator for LogMode::kFile during static init."); + RecordProperty("TestingTechnique", "Requirements-based test"); + + EXPECT_TRUE(IsBackendAvailable(LogMode::kFile)); +} + +TEST(FileRegistrantTest, FileBackendCreatorReturnsNonNullRecorder) +{ + RecordProperty("Description", + "The registered file backend creator shall return a non-null Recorder given valid configuration."); + RecordProperty("TestingTechnique", "Requirements-based test"); + + ASSERT_TRUE(IsBackendAvailable(LogMode::kFile)); + + Configuration config; + config.SetLogFilePath("/tmp"); + config.SetAppId("TEST"); + config.SetEcuId("ECU1"); + + auto recorder = CreateRecorderForMode(LogMode::kFile, config, score::cpp::pmr::get_default_resource()); + + EXPECT_NE(recorder, nullptr); +} + +} // namespace +} // namespace detail +} // namespace log +} // namespace mw +} // namespace score diff --git a/score/mw/log/detail/file_recorder/BUILD b/score/mw/log/detail/file_recorder/BUILD index 26c9b062..a822c060 100644 --- a/score/mw/log/detail/file_recorder/BUILD +++ b/score/mw/log/detail/file_recorder/BUILD @@ -77,6 +77,7 @@ cc_library( features = COMPILER_WARNING_FEATURES, tags = ["FFI"], visibility = [ + "//score/mw/log/backend:__pkg__", "//score/mw/log/detail/common:__pkg__", "@score_baselibs//score/mw/log/detail:__pkg__", ], From f6e298462f768376245fce1206cfcdd48d8ade41 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Fri, 20 Mar 2026 17:21:31 +0100 Subject: [PATCH 19/49] Adds remote DLT backend plugin registrant GIT_ORIGIN_SPP_REV_ID: 103a67c18ba94ee52cb7eff7cbe1fcada56a1833 --- score/mw/log/backend/remote_registrant.cpp | 49 +++++++++++++++++++ .../mw/log/backend/remote_registrant_test.cpp | 41 ++++++++++++++++ score/mw/log/detail/data_router/BUILD | 1 + 3 files changed, 91 insertions(+) create mode 100644 score/mw/log/backend/remote_registrant.cpp create mode 100644 score/mw/log/backend/remote_registrant_test.cpp diff --git a/score/mw/log/backend/remote_registrant.cpp b/score/mw/log/backend/remote_registrant.cpp new file mode 100644 index 00000000..46d5af35 --- /dev/null +++ b/score/mw/log/backend/remote_registrant.cpp @@ -0,0 +1,49 @@ +/******************************************************************************** + * Copyright (c) 2026 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ +#include "score/mw/log/backend_table.h" +#include "score/mw/log/detail/data_router/remote_dlt_recorder_factory.h" + +namespace score +{ +namespace mw +{ +namespace log +{ +namespace detail +{ +namespace +{ + +std::unique_ptr CreateRemoteRecorder(const Configuration& config, score::cpp::pmr::memory_resource* memory_resource) +{ + RemoteDltRecorderFactory factory; + return factory.CreateLogRecorder(config, memory_resource); +} + +/* +Deviation from Rule A3-3-2: +- Static and thread-local objects shall be constant-initialized. +Justification: +- BackendRegistrant constructor executes during dynamic initialization to write a function + pointer into gBackendCreators[]. The target array is constant-initialized (zero-init + at load time), so it is valid before this constructor runs. The registrant struct itself + is trivially destructible. This follows the established pattern used by Runtime::Instance(). +*/ +// coverity[autosar_cpp14_a3_3_2_violation] +const BackendRegistrant kRemoteRegistrant{LogMode::kRemote, &CreateRemoteRecorder}; + +} // namespace +} // namespace detail +} // namespace log +} // namespace mw +} // namespace score diff --git a/score/mw/log/backend/remote_registrant_test.cpp b/score/mw/log/backend/remote_registrant_test.cpp new file mode 100644 index 00000000..6abd07d3 --- /dev/null +++ b/score/mw/log/backend/remote_registrant_test.cpp @@ -0,0 +1,41 @@ +/******************************************************************************** + * Copyright (c) 2026 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ +#include "score/mw/log/backend_table.h" + +#include "gtest/gtest.h" + +namespace score +{ +namespace mw +{ +namespace log +{ +namespace detail +{ +namespace +{ + +TEST(RemoteRegistrantTest, RemoteBackendIsRegisteredAfterStaticInitialization) +{ + RecordProperty("Description", + "The remote backend registrant shall register a creator for LogMode::kRemote during static init."); + RecordProperty("TestingTechnique", "Requirements-based test"); + + EXPECT_TRUE(IsBackendAvailable(LogMode::kRemote)); +} + +} // namespace +} // namespace detail +} // namespace log +} // namespace mw +} // namespace score diff --git a/score/mw/log/detail/data_router/BUILD b/score/mw/log/detail/data_router/BUILD index eb727b33..fca8b37f 100644 --- a/score/mw/log/detail/data_router/BUILD +++ b/score/mw/log/detail/data_router/BUILD @@ -101,6 +101,7 @@ cc_library( features = COMPILER_WARNING_FEATURES, tags = ["FFI"], visibility = [ + "//score/mw/log/backend:__pkg__", "//score/mw/log/detail/common:__pkg__", "@score_baselibs//score/mw/log/detail:__pkg__", ], From 5caa72b3e5d20d909a8a987955067c61ec29b91b Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Fri, 20 Mar 2026 17:23:12 +0100 Subject: [PATCH 20/49] Adds slog backend plugin registrant for QNX GIT_ORIGIN_SPP_REV_ID: 4c4e808ff461c3a56913a04ead3204da2dc3789e --- score/mw/log/backend/slog_registrant.cpp | 49 +++++++++++++++++++ score/mw/log/backend/slog_registrant_test.cpp | 41 ++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 score/mw/log/backend/slog_registrant.cpp create mode 100644 score/mw/log/backend/slog_registrant_test.cpp diff --git a/score/mw/log/backend/slog_registrant.cpp b/score/mw/log/backend/slog_registrant.cpp new file mode 100644 index 00000000..ad3554d3 --- /dev/null +++ b/score/mw/log/backend/slog_registrant.cpp @@ -0,0 +1,49 @@ +/******************************************************************************** + * Copyright (c) 2026 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ +#include "score/mw/log/backend_table.h" +#include "score/mw/log/detail/slog/slog_recorder_factory.h" + +namespace score +{ +namespace mw +{ +namespace log +{ +namespace detail +{ +namespace +{ + +std::unique_ptr CreateSlogRecorder(const Configuration& config, score::cpp::pmr::memory_resource* memory_resource) +{ + SlogRecorderFactory factory; + return factory.CreateLogRecorder(config, memory_resource); +} + +/* +Deviation from Rule A3-3-2: +- Static and thread-local objects shall be constant-initialized. +Justification: +- BackendRegistrant constructor executes during dynamic initialization to write a function + pointer into gBackendCreators[]. The target array is constant-initialized (zero-init + at load time), so it is valid before this constructor runs. The registrant struct itself + is trivially destructible. This follows the established pattern used by Runtime::Instance(). +*/ +// coverity[autosar_cpp14_a3_3_2_violation] +const BackendRegistrant kSlogRegistrant{LogMode::kSystem, &CreateSlogRecorder}; + +} // namespace +} // namespace detail +} // namespace log +} // namespace mw +} // namespace score diff --git a/score/mw/log/backend/slog_registrant_test.cpp b/score/mw/log/backend/slog_registrant_test.cpp new file mode 100644 index 00000000..3d269acb --- /dev/null +++ b/score/mw/log/backend/slog_registrant_test.cpp @@ -0,0 +1,41 @@ +/******************************************************************************** + * Copyright (c) 2026 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ +#include "score/mw/log/backend_table.h" + +#include "gtest/gtest.h" + +namespace score +{ +namespace mw +{ +namespace log +{ +namespace detail +{ +namespace +{ + +TEST(SlogRegistrantTest, SlogBackendIsRegisteredAfterStaticInitialization) +{ + RecordProperty("Description", + "The slog backend registrant shall register a creator for LogMode::kSystem during static init."); + RecordProperty("TestingTechnique", "Requirements-based test"); + + EXPECT_TRUE(IsBackendAvailable(LogMode::kSystem)); +} + +} // namespace +} // namespace detail +} // namespace log +} // namespace mw +} // namespace score From 2ebd7990edf5d21ae454c758309685c9aa6d12aa Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Fri, 20 Mar 2026 18:54:45 +0100 Subject: [PATCH 21/49] Provide mw/log:minimal target as a stub empty backend - provides minimal target called "console" that includes the frontend, console backend and registry_aware_recorder_factory that can be extended later by binaries to provide additional backend targets. - Existing lib targets that use frontend only will require a transition step for binaries hence backend_console is provided in addition GIT_ORIGIN_SPP_REV_ID: ecb65c4d0bdfb452c863a19ee5ebefc3abc33ee1 --- score/datarouter/BUILD | 7 +- score/mw/log/backend/BUILD | 52 ++- score/mw/log/backend/custom_registrant.cpp | 66 ++++ score/mw/log/backend/file_registrant.cpp | 18 +- score/mw/log/backend/file_registrant_test.cpp | 2 +- score/mw/log/backend/remote_registrant.cpp | 18 +- .../mw/log/backend/remote_registrant_test.cpp | 2 +- score/mw/log/backend/slog_registrant.cpp | 2 +- score/mw/log/backend/slog_registrant_test.cpp | 2 +- score/mw/log/detail/common/BUILD | 61 +-- score/mw/log/detail/common/recorder_config.h | 118 ------ .../mw/log/detail/common/recorder_factory.cpp | 199 ---------- score/mw/log/detail/common/recorder_factory.h | 66 ---- .../detail/common/recorder_factory_test.cpp | 348 ------------------ score/mw/log/detail/common/runtime_test.cpp | 7 +- score/mw/log/detail/data_router/BUILD | 2 +- .../remote_dlt_recorder_factory_test.cpp | 51 +-- score/mw/log/detail/file_recorder/BUILD | 2 +- .../test/console_logging_environment/BUILD | 3 +- .../console_logging_environment.cpp | 5 +- 20 files changed, 189 insertions(+), 842 deletions(-) create mode 100644 score/mw/log/backend/custom_registrant.cpp delete mode 100644 score/mw/log/detail/common/recorder_config.h delete mode 100644 score/mw/log/detail/common/recorder_factory.cpp delete mode 100644 score/mw/log/detail/common/recorder_factory.h delete mode 100644 score/mw/log/detail/common/recorder_factory_test.cpp diff --git a/score/datarouter/BUILD b/score/datarouter/BUILD index d86f7e85..0f6a9d6e 100644 --- a/score/datarouter/BUILD +++ b/score/datarouter/BUILD @@ -275,19 +275,18 @@ cc_library( ], ) +# FIXME: Ticket-252685 alias( name = "libtracing", actual = ":log", visibility = ["//visibility:public"], ) +# FIXME: Ticket-252685 cc_library( name = "log", visibility = ["//visibility:public"], - deps = [ - "//score/mw/log/detail/common:recorder_factory", - "@score_baselibs//score/mw/log:frontend", - ], + deps = ["@score_baselibs//score/mw/log:console"], ) ## =========================================================================== diff --git a/score/mw/log/backend/BUILD b/score/mw/log/backend/BUILD index aecd78f6..17a4e466 100644 --- a/score/mw/log/backend/BUILD +++ b/score/mw/log/backend/BUILD @@ -24,37 +24,49 @@ COMPILER_WARNING_FEATURES = [ "strict_warnings", ] -# --- Plugin: DLT File Logging --- +# Plugin: DLT File Logging # Add this dep to your binary to enable file-based DLT logging. cc_library( name = "file", srcs = ["file_registrant.cpp"], features = COMPILER_WARNING_FEATURES, + local_defines = select({ + "//score/mw/log/detail/flags:config_KFile_Logging": ["KFILE_LOGGING"], + "//conditions:default": [], + }), tags = ["FFI"], - visibility = ["//visibility:public"], + visibility = ["//visibility:public"], # platform_only deps = [ "//score/mw/log/detail/file_recorder:file_recorder_factory", "@score_baselibs//score/mw/log:backend_table", + "@score_baselibs//score/mw/log:empty_recorder", + "@score_baselibs//score/mw/log:recorder_config", ], alwayslink = True, ) -# --- Plugin: Remote DLT via DataRouter --- +# Plugin: Remote DLT via DataRouter # Add this dep to your binary to enable remote DLT logging. cc_library( name = "remote", srcs = ["remote_registrant.cpp"], features = COMPILER_WARNING_FEATURES, + local_defines = select({ + "//score/mw/log/flags:Remote_Logging": ["KREMOTE_LOGGING"], + "//conditions:default": [], + }), tags = ["FFI"], - visibility = ["//visibility:public"], + visibility = ["//visibility:public"], # platform_only deps = [ "//score/mw/log/detail/data_router:remote_dlt_recorder_factory", "@score_baselibs//score/mw/log:backend_table", + "@score_baselibs//score/mw/log:empty_recorder", + "@score_baselibs//score/mw/log:recorder_config", ], alwayslink = True, ) -# --- Plugin: QNX slog2 System Logging --- +# Plugin: QNX slog2 System Logging # Automatically included on QNX builds. cc_library( name = "slog", @@ -62,7 +74,7 @@ cc_library( features = COMPILER_WARNING_FEATURES, tags = ["FFI"], target_compatible_with = ["@platforms//os:qnx"], - visibility = ["//visibility:public"], + visibility = ["//visibility:public"], # platform_only deps = [ "//score/mw/log/detail/slog:slog_recorder_factory", "@score_baselibs//score/mw/log:backend_table", @@ -70,7 +82,31 @@ cc_library( alwayslink = True, ) -# --- Tests --- +# Plugin: Custom user-provided Logging backend +# Opt-in. Build with --@score_logging//score/mw/log/flags:KCustom_Logging=True +# and --@score_logging//score/mw/log/flags:custom_recorder_impl=//your:target. +cc_library( + name = "custom", + srcs = ["custom_registrant.cpp"], + features = COMPILER_WARNING_FEATURES, + local_defines = select({ + "//score/mw/log/flags:Custom_Logging": ["KCUSTOM_LOGGING"], + "//conditions:default": [], + }), + tags = ["FFI"], + visibility = ["//visibility:public"], + deps = [ + "@score_baselibs//score/mw/log:backend_table", + "@score_baselibs//score/mw/log:empty_recorder", + "@score_baselibs//score/mw/log:recorder_config", + ] + select({ + "//score/mw/log/flags:Custom_Logging": [ + "//score/mw/log/flags:custom_recorder_impl", + ], + "//conditions:default": [], + }), + alwayslink = True, +) cc_test( name = "file_registrant_test", @@ -96,7 +132,7 @@ cc_test( deps = [ ":remote", "@googletest//:gtest_main", - "@score_baselibs//score/mw/log:backend_stub_testutil", + "@score_baselibs//score/mw/log:backend_console", "@score_baselibs//score/mw/log:backend_table", ], ) diff --git a/score/mw/log/backend/custom_registrant.cpp b/score/mw/log/backend/custom_registrant.cpp new file mode 100644 index 00000000..fd0b500c --- /dev/null +++ b/score/mw/log/backend/custom_registrant.cpp @@ -0,0 +1,66 @@ +/******************************************************************************** + * Copyright (c) 2026 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ +#include "score/mw/log/detail/backend_table.h" +#include "score/mw/log/recorder_config.h" + +#include "score/mw/log/detail/empty_recorder.h" + +// When KCUSTOM_LOGGING is defined, this header is provided by the +// custom_recorder_impl label_flag target. +// coverity[autosar_cpp14_a16_0_1_violation] +#if defined(KCUSTOM_LOGGING) +#include "custom_recorder.h" +#endif + +namespace score +{ +namespace mw +{ +namespace log +{ +namespace detail +{ +namespace +{ + +std::unique_ptr CreateCustomRecorder(const Configuration& config, score::cpp::pmr::memory_resource* memory_resource) +{ + // coverity[autosar_cpp14_a16_0_1_violation] +#if defined(KCUSTOM_LOGGING) + CustomRecorderFactory factory; + return factory.CreateLogRecorder(config, memory_resource); +#else + static_cast(config); + static_cast(memory_resource); + return std::make_unique(); + // coverity[autosar_cpp14_a16_0_1_violation] +#endif +} + +/* +Deviation from Rule A3-3-2: +- Static and thread-local objects shall be constant-initialized. +Justification: +- BackendRegistrant constructor executes during dynamic initialization to write a function + pointer into gBackendCreators[]. The target array is constant-initialized (zero-init + at load time), so it is valid before this constructor runs. The registrant struct itself + is trivially destructible. This follows the established pattern used by Runtime::Instance(). +*/ +// coverity[autosar_cpp14_a3_3_2_violation] +const BackendRegistrant kCustomRegistrant{LogMode::kCustom, &CreateCustomRecorder}; + +} // namespace +} // namespace detail +} // namespace log +} // namespace mw +} // namespace score diff --git a/score/mw/log/backend/file_registrant.cpp b/score/mw/log/backend/file_registrant.cpp index 9ca6d38c..7c8571ba 100644 --- a/score/mw/log/backend/file_registrant.cpp +++ b/score/mw/log/backend/file_registrant.cpp @@ -10,7 +10,10 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -#include "score/mw/log/backend_table.h" +#include "score/mw/log/detail/backend_table.h" +#include "score/mw/log/recorder_config.h" + +#include "score/mw/log/detail/empty_recorder.h" #include "score/mw/log/detail/file_recorder/file_recorder_factory.h" namespace score @@ -26,8 +29,17 @@ namespace std::unique_ptr CreateFileRecorder(const Configuration& config, score::cpp::pmr::memory_resource* memory_resource) { - FileRecorderFactory factory{score::os::Fcntl::Default(memory_resource)}; - return factory.CreateLogRecorder(config, memory_resource); + if constexpr (kFileLoggingEnabled) + { + FileRecorderFactory factory{score::os::Fcntl::Default(memory_resource)}; + return factory.CreateLogRecorder(config, memory_resource); + } + else + { + static_cast(config); + static_cast(memory_resource); + return std::make_unique(); + } } /* diff --git a/score/mw/log/backend/file_registrant_test.cpp b/score/mw/log/backend/file_registrant_test.cpp index fb84151c..9bffc907 100644 --- a/score/mw/log/backend/file_registrant_test.cpp +++ b/score/mw/log/backend/file_registrant_test.cpp @@ -10,7 +10,7 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -#include "score/mw/log/backend_table.h" +#include "score/mw/log/detail/backend_table.h" #include "gtest/gtest.h" diff --git a/score/mw/log/backend/remote_registrant.cpp b/score/mw/log/backend/remote_registrant.cpp index 46d5af35..632f89fb 100644 --- a/score/mw/log/backend/remote_registrant.cpp +++ b/score/mw/log/backend/remote_registrant.cpp @@ -10,8 +10,11 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -#include "score/mw/log/backend_table.h" +#include "score/mw/log/detail/backend_table.h" +#include "score/mw/log/recorder_config.h" + #include "score/mw/log/detail/data_router/remote_dlt_recorder_factory.h" +#include "score/mw/log/detail/empty_recorder.h" namespace score { @@ -26,8 +29,17 @@ namespace std::unique_ptr CreateRemoteRecorder(const Configuration& config, score::cpp::pmr::memory_resource* memory_resource) { - RemoteDltRecorderFactory factory; - return factory.CreateLogRecorder(config, memory_resource); + if constexpr (kRemoteLoggingEnabled) + { + RemoteDltRecorderFactory factory; + return factory.CreateLogRecorder(config, memory_resource); + } + else + { + static_cast(config); + static_cast(memory_resource); + return std::make_unique(); + } } /* diff --git a/score/mw/log/backend/remote_registrant_test.cpp b/score/mw/log/backend/remote_registrant_test.cpp index 6abd07d3..b9c359b0 100644 --- a/score/mw/log/backend/remote_registrant_test.cpp +++ b/score/mw/log/backend/remote_registrant_test.cpp @@ -10,7 +10,7 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -#include "score/mw/log/backend_table.h" +#include "score/mw/log/detail/backend_table.h" #include "gtest/gtest.h" diff --git a/score/mw/log/backend/slog_registrant.cpp b/score/mw/log/backend/slog_registrant.cpp index ad3554d3..6db1da51 100644 --- a/score/mw/log/backend/slog_registrant.cpp +++ b/score/mw/log/backend/slog_registrant.cpp @@ -10,7 +10,7 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -#include "score/mw/log/backend_table.h" +#include "score/mw/log/detail/backend_table.h" #include "score/mw/log/detail/slog/slog_recorder_factory.h" namespace score diff --git a/score/mw/log/backend/slog_registrant_test.cpp b/score/mw/log/backend/slog_registrant_test.cpp index 3d269acb..fbebdb0a 100644 --- a/score/mw/log/backend/slog_registrant_test.cpp +++ b/score/mw/log/backend/slog_registrant_test.cpp @@ -10,7 +10,7 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -#include "score/mw/log/backend_table.h" +#include "score/mw/log/detail/backend_table.h" #include "gtest/gtest.h" diff --git a/score/mw/log/detail/common/BUILD b/score/mw/log/detail/common/BUILD index 10f953ec..7627bb30 100644 --- a/score/mw/log/detail/common/BUILD +++ b/score/mw/log/detail/common/BUILD @@ -32,30 +32,6 @@ COMPILER_WARNING_FEATURES = [ "strict_warnings", ] -cc_library( - name = "recorder_factory", - srcs = [ - "recorder_factory.cpp", - ], - hdrs = [ - "recorder_factory.h", - ], - features = COMPILER_WARNING_FEATURES, - tags = ["FFI"], - visibility = [ - "//visibility:public", - ], - deps = [ - ":composite_recorder", - ":recorder_config", - "@score_baselibs//score/mw/log:recorder_interface", - "@score_baselibs//score/mw/log/configuration:configuration_parser", - "@score_baselibs//score/mw/log/detail:empty_recorder", - "@score_baselibs//score/mw/log/detail:initialization_reporter", - ], - alwayslink = True, -) - cc_library( name = "recorder_config", hdrs = [ @@ -188,8 +164,10 @@ cc_library( features = COMPILER_WARNING_FEATURES, tags = ["FFI"], visibility = [ + "//platform/aas/tools/sctf/mw_log_helper:__pkg__", "//score/mw/log/detail/data_router:__pkg__", "@score_baselibs//score/mw/log:__pkg__", + "@score_baselibs//score/mw/log/detail:__pkg__", ], deps = [ "@score_baselibs//score/mw/log:recorder", @@ -250,25 +228,6 @@ cc_test( ], ) -cc_test( - name = "recorder_factory_test", - srcs = [ - "recorder_factory_test.cpp", - ], - data = [ - ], - features = COMPILER_WARNING_FEATURES + [ - "aborts_upon_exception", - ], - tags = ["unit"], - deps = [ - ":recorder_factory", - "@googletest//:gtest_main", - "@score_baselibs//score/mw/log/configuration:target_config_reader_mock", - "@score_baselibs//score/os/mocklib:fcntl_mock", - ], -) - cc_test( name = "statistics_reporter_test", srcs = [ @@ -312,12 +271,17 @@ cc_test( features = COMPILER_WARNING_FEATURES + [ "aborts_upon_exception", ], + local_defines = select({ + "//score/mw/log/detail/flags:config_KConsole_Logging": ["KCONSOLE_LOGGING"], + "//conditions:default": [], + }), tags = ["unit"], deps = [ - "//score/mw/log/detail/common:recorder_factory", "@googletest//:gtest_main", - "@score_baselibs//score/mw/log:frontend", + "@score_baselibs//score/mw/log:console", + "@score_baselibs//score/mw/log:recorder_config", "@score_baselibs//score/mw/log:recorder_mock", + "@score_baselibs//score/mw/log/detail/text_recorder", ], ) @@ -331,9 +295,8 @@ cc_test( ], tags = ["unit"], deps = [ - "//score/mw/log/detail/common:recorder_factory", "@googletest//:gtest_main", - "@score_baselibs//score/mw/log:frontend", + "@score_baselibs//score/mw/log:console", "@score_baselibs//score/mw/log:recorder_mock", "@score_baselibs//score/mw/log/test/my_custom_lib:my_custom_type_mw_log", ], @@ -349,9 +312,8 @@ cc_test( ], tags = ["unit"], deps = [ - "//score/mw/log/detail/common:recorder_factory", "@googletest//:gtest_main", - "@score_baselibs//score/mw/log:frontend", + "@score_baselibs//score/mw/log:console", "@score_baselibs//score/mw/log:recorder_mock", "@score_baselibs//score/mw/log/detail:thread_local_guard", ], @@ -363,7 +325,6 @@ cc_unit_test_suites_for_host_and_qnx( ":composite_recorder_test", ":dlt_format_test", ":log_entry_deserialize_test", - ":recorder_factory_test", ":statistics_reporter_test", ":helper_functions_test", ":runtime_test", diff --git a/score/mw/log/detail/common/recorder_config.h b/score/mw/log/detail/common/recorder_config.h deleted file mode 100644 index fc6a5ac8..00000000 --- a/score/mw/log/detail/common/recorder_config.h +++ /dev/null @@ -1,118 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -#ifndef SCORE_MW_LOG_DETAIL_COMMON_RECORDER_CONFIG_H -#define SCORE_MW_LOG_DETAIL_COMMON_RECORDER_CONFIG_H - -#include "score/mw/log/detail/empty_recorder_factory.h" - -#if defined(KCONSOLE_LOGGING) -#include "score/mw/log/detail/text_recorder/console_recorder_factory.h" -#include "score/mw/log/detail/text_recorder/text_recorder.h" -#endif - -#if defined(KFILE_LOGGING) -#include "score/mw/log/detail/file_recorder/file_recorder_factory.h" -#endif - -#if defined(KREMOTE_LOGGING) -#include "score/mw/log/detail/data_router/data_router_recorder.h" -#include "score/mw/log/detail/data_router/remote_dlt_recorder_factory.h" -#endif - -#if defined(__QNXNTO__) -#include "score/mw/log/detail/slog/slog_recorder_factory.h" -#endif - -#if defined(KCUSTOM_LOGGING) -#include "custom_recorder.h" -#endif - -namespace score -{ -namespace mw -{ -namespace log -{ -namespace detail -{ -/* -Deviation from Rule A16-0-1: -- Rule A16-0-1 (required, implementation, automated) -The pre-processor shall only be used for unconditional and conditional file -inclusion and include guards, and using the following directives: (1) #ifndef, -#ifdef, (3) #if, (4) #if defined, (5) #elif, (6) #else, (7) #define, (8) #endif, (9) -#include. -Justification: -- Feature Flag to enable/disable Logging Modes in Production SW. -*/ -// coverity[autosar_cpp14_a16_0_1_violation] see above -#if defined(KCONSOLE_LOGGING) -using ConsoleRecorderType = TextRecorder; -using ConsoleRecorderFactoryType = ConsoleRecorderFactory; -// coverity[autosar_cpp14_a16_0_1_violation] see above -#else -using ConsoleRecorderType = EmptyRecorder; -using ConsoleRecorderFactoryType = EmptyRecorderFactory; -// coverity[autosar_cpp14_a16_0_1_violation] see above -#endif - -// coverity[autosar_cpp14_a16_0_1_violation] see above -#if defined(KFILE_LOGGING) -using FileRecorderType = FileRecorder; -using FileRecorderFactoryType = FileRecorderFactory; -// coverity[autosar_cpp14_a16_0_1_violation] see above -#else -using FileRecorderType = EmptyRecorder; -using FileRecorderFactoryType = EmptyRecorderFactory; -// coverity[autosar_cpp14_a16_0_1_violation] see above -#endif - -// coverity[autosar_cpp14_a16_0_1_violation] see above -#if defined(KREMOTE_LOGGING) -using RemoteRecorderType = DataRouterRecorder; -using RemoteRecorderFactoryType = RemoteDltRecorderFactory; -// coverity[autosar_cpp14_a16_0_1_violation] see above -#else -using RemoteRecorderType = EmptyRecorder; -using RemoteRecorderFactoryType = EmptyRecorderFactory; -// coverity[autosar_cpp14_a16_0_1_violation] see above -#endif - -// coverity[autosar_cpp14_a16_0_1_violation] see above -#if defined(__QNXNTO__) -using SystemRecorderType = TextRecorder; -using SystemRecorderFactoryType = SlogRecorderFactory; -// coverity[autosar_cpp14_a16_0_1_violation] see above -#else -using SystemRecorderType = EmptyRecorder; -using SystemRecorderFactoryType = EmptyRecorderFactory; -// coverity[autosar_cpp14_a16_0_1_violation] see above -#endif - -// coverity[autosar_cpp14_a16_0_1_violation] see above -#if defined(KCUSTOM_LOGGING) -using CustomRecorderType = CustomRecorder; -using CustomRecorderFactoryType = CustomRecorderFactory; -// coverity[autosar_cpp14_a16_0_1_violation] see above -#else -using CustomRecorderType = EmptyRecorder; -using CustomRecorderFactoryType = EmptyRecorderFactory; -// coverity[autosar_cpp14_a16_0_1_violation] see above -#endif - -} // namespace detail -} // namespace log -} // namespace mw -} // namespace score - -#endif // SCORE_MW_LOG_DETAIL_COMMON_RECORDER_CONFIG_H diff --git a/score/mw/log/detail/common/recorder_factory.cpp b/score/mw/log/detail/common/recorder_factory.cpp deleted file mode 100644 index 0a601977..00000000 --- a/score/mw/log/detail/common/recorder_factory.cpp +++ /dev/null @@ -1,199 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -#include "score/mw/log/detail/common/recorder_factory.h" - -#include "score/mw/log/detail/common/composite_recorder.h" -#include "score/mw/log/detail/common/recorder_config.h" -#include "score/mw/log/detail/empty_recorder.h" -#include "score/mw/log/detail/error.h" -#include "score/mw/log/detail/initialization_reporter.h" - -#ifdef __QNXNTO__ -#include "score/mw/log/detail/slog/slog_backend.h" -#endif - -namespace score -{ -namespace mw -{ -namespace log -{ -namespace detail -{ - -std::unique_ptr RecorderFactory::CreateRecorderFromLogMode( - const LogMode& log_mode, - const Configuration& config, - score::cpp::pmr::unique_ptr fcntl_instance, - score::cpp::pmr::memory_resource* memory_resource) const noexcept -{ - if (memory_resource == nullptr) - { - ReportInitializationError(score::mw::log::detail::Error::kMemoryResourceError); - return CreateStub(); - } - - /* - Deviation from Rule: A2-10-1 - - An identifier declared in an inner scope shall not hide an identifier declared in an outer scope - Justification: - - recorder only defined once in this function, no hidden from inner scope - */ - // coverity[autosar_cpp14_a2_10_1_violation : FALSE] - std::unique_ptr recorder = std::make_unique(); - - switch (log_mode) - { - case LogMode::kRemote: - { - RemoteRecorderFactoryType remote_recorder_factory; - recorder = remote_recorder_factory.CreateLogRecorder(config, memory_resource); - break; - } - case LogMode::kFile: - { - FileRecorderFactoryType file_record_factory{std::move(fcntl_instance)}; - recorder = file_record_factory.CreateLogRecorder(config, memory_resource); - break; - } - case LogMode::kConsole: - { - ConsoleRecorderFactoryType console_recorder_factory; - recorder = console_recorder_factory.CreateLogRecorder(config, memory_resource); - break; - } - case LogMode::kSystem: - { - SystemRecorderFactoryType system_recorder_factory; - recorder = system_recorder_factory.CreateLogRecorder(config, memory_resource); - break; - } - case LogMode::kCustom: - { - CustomRecorderFactoryType custom_recorder_factory; - recorder = custom_recorder_factory.CreateLogRecorder(config, memory_resource); - break; - } - case LogMode::kInvalid: // Intentional fall-through - { - ReportInitializationError(Error::kRecorderFactoryUnsupportedLogMode); - break; - } - default: - { - ReportInitializationError(Error::kRecorderFactoryUnsupportedLogMode); - break; - } - } - - return recorder; -} - -/* -Deviation from Rule A15-5-3: -- The std::terminate() function shall not be called implicitly. -Justification: -- std::terminate() could be invoked as this function is noexcept function but result.value() may throw an exception. -- However, we only call result.value() after confirming result.has_value(), so there's no scenario where -std::bad_variant_access can occur. -- Therefore, it's safe to suppress this warning here. -*/ -// coverity[autosar_cpp14_a15_5_3_violation] -std::unique_ptr RecorderFactory::CreateFromConfiguration( - const std::unique_ptr config_reader, - score::cpp::pmr::memory_resource* memory_resource) const noexcept -{ - if (memory_resource == nullptr) - { - ReportInitializationError(score::mw::log::detail::Error::kMemoryResourceError); - return CreateStub(); - } - const auto result = config_reader->ReadConfig(); - - if (!result.has_value()) - { - ReportInitializationError(result.error(), "Failed to load configuration files. Fallback to console logging."); - return CreateWithConsoleLoggingOnly(memory_resource); - } - - std::vector> recorders; - std::ignore = - std::for_each(result->GetLogMode().begin(), - result->GetLogMode().end(), - [this, &result, &recorders, &memory_resource](const auto& log_mode) { - // LCOV_EXCL_START : no branches to test - std::ignore = recorders.emplace_back(CreateRecorderFromLogMode( - log_mode, result.value(), score::os::Fcntl::Default(memory_resource), memory_resource)); - // LCOV_EXCL_STOP - }); - - if (recorders.empty()) - { - ReportInitializationError(Error::kNoLogModeSpecified); - return std::make_unique(); - } - - if (recorders.size() == 1U) - { - return std::move(recorders[0]); - } - - // Composite recorder is needed if there are more than one activate recorder. - return std::make_unique(std::move(recorders)); -} - -std::unique_ptr RecorderFactory::CreateWithConsoleLoggingOnly( - score::cpp::pmr::memory_resource* memory_resource) const noexcept -{ - if (memory_resource == nullptr) - { - ReportInitializationError(score::mw::log::detail::Error::kMemoryResourceError); - return CreateStub(); - } - - const Configuration config; // using all default values - ConsoleRecorderFactoryType console_recorder_factory; - return console_recorder_factory.CreateLogRecorder(config, memory_resource); -} - -std::unique_ptr RecorderFactory::CreateStub() const noexcept -{ - return std::make_unique(); -} - -std::unique_ptr CreateRecorderFactory() noexcept -{ - return std::make_unique(); -} - -std::unique_ptr RecorderFactory::CreateFromConfiguration( - score::cpp::pmr::memory_resource* memory_resource) const noexcept -{ - if (memory_resource == nullptr) - { - ReportInitializationError(score::mw::log::detail::Error::kMemoryResourceError); - // While we do not have resources to allocate any Recorder we should return nothing: - return nullptr; - } - - return CreateFromConfiguration(std::make_unique(std::make_unique( - score::os::Path::Default(memory_resource), - score::os::Stdlib::Default(memory_resource), - score::os::Unistd::Default(memory_resource))), - memory_resource); -} - -} // namespace detail -} // namespace log -} // namespace mw -} // namespace score diff --git a/score/mw/log/detail/common/recorder_factory.h b/score/mw/log/detail/common/recorder_factory.h deleted file mode 100644 index 1be7465b..00000000 --- a/score/mw/log/detail/common/recorder_factory.h +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -#ifndef SCORE_MW_LOG_DETAIL_COMMON_RECORDER_FACTORY_H -#define SCORE_MW_LOG_DETAIL_COMMON_RECORDER_FACTORY_H - -#include "score/os/fcntl_impl.h" -#include "score/mw/log/configuration/target_config_reader.h" -#include "score/mw/log/irecorder_factory.h" -#include "score/mw/log/recorder.h" - -#include - -namespace score -{ -namespace mw -{ -namespace log -{ -namespace detail -{ -/* -Deviation from Rule: M3-2-3 -- A type, object or function that is used in multiple translation units shall be declared in one and only one file -Justification: -- class RecorderFactory only defined once -*/ -// coverity[autosar_cpp14_m3_2_3_violation : FALSE] -class RecorderFactory : public IRecorderFactory -{ - public: - RecorderFactory() noexcept = default; - - std::unique_ptr CreateFromConfiguration( - score::cpp::pmr::memory_resource* memory_resource) const noexcept override; - std::unique_ptr CreateFromConfiguration(const std::unique_ptr config_reader, - score::cpp::pmr::memory_resource* memory_resource) const noexcept; - - std::unique_ptr CreateWithConsoleLoggingOnly( - score::cpp::pmr::memory_resource* memory_resource) const noexcept override; - - std::unique_ptr CreateStub() const noexcept override; - - std::unique_ptr CreateRecorderFromLogMode( - const LogMode& log_mode, - const Configuration& config, - score::cpp::pmr::unique_ptr fcntl_instance = - score::os::FcntlImpl::Default(score::cpp::pmr::get_default_resource()), - score::cpp::pmr::memory_resource* memory_resource = score::cpp::pmr::get_default_resource()) const noexcept; -}; - -} // namespace detail -} // namespace log -} // namespace mw -} // namespace score - -#endif // SCORE_MW_LOG_DETAIL_COMMON_RECORDER_FACTORY_H diff --git a/score/mw/log/detail/common/recorder_factory_test.cpp b/score/mw/log/detail/common/recorder_factory_test.cpp deleted file mode 100644 index b6433a37..00000000 --- a/score/mw/log/detail/common/recorder_factory_test.cpp +++ /dev/null @@ -1,348 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -#include "score/mw/log/detail/common/recorder_factory.h" -#include "score/mw/log/detail/common/recorder_config.h" - -#include "score/mw/log/configuration/target_config_reader_mock.h" -#include "score/mw/log/detail/common/composite_recorder.h" -#include "score/mw/log/detail/empty_recorder.h" -#include "score/mw/log/detail/error.h" - -#include "score/os/mocklib/fcntl_mock.h" - -#include "gtest/gtest.h" - -#include - -namespace score -{ -namespace mw -{ -namespace log -{ -namespace detail -{ -namespace -{ - -template -bool IsRecorderOfType(const std::unique_ptr& recorder) noexcept -{ - static_assert(std::is_base_of::value, - "Concrete recorder shall be derived from Recorder base class"); - - return dynamic_cast(recorder.get()) != nullptr; -} - -template -bool ContainsRecorderOfType(const CompositeRecorder& composite) noexcept -{ - bool return_value = false; - for (const auto& recorder : composite.GetRecorders()) - { - if (IsRecorderOfType(recorder)) - { - return_value = true; - break; - } - } - return return_value; -} - -class RecorderFactoryConfigFixture : public ::testing::Test -{ - public: - void SetUp() override - { - memory_resource_ = score::cpp::pmr::get_default_resource(); - } - void TearDown() override {} - - std::unique_ptr CreateFromConfiguration() noexcept - { - auto config_reader_mock = std::make_unique(); - ON_CALL(*config_reader_mock, ReadConfig).WillByDefault(testing::Invoke([&]() { - return config_result_; - })); - return RecorderFactory{}.CreateFromConfiguration(std::move(config_reader_mock), - score::cpp::pmr::get_default_resource()); - } - - void SetTargetConfigReaderResult(score::Result result) noexcept - { - config_result_ = result; - } - - void SetConfigurationWithLogMode(const std::unordered_set& log_modes, - Configuration config = Configuration{}) noexcept - { - config.SetLogMode(log_modes); - SetTargetConfigReaderResult(config); - } - - protected: - score::Result config_result_; - score::cpp::pmr::memory_resource* memory_resource_ = nullptr; -}; - -TEST_F(RecorderFactoryConfigFixture, ConfigurationMemoryErrorShallReturnEmptyRecorder) -{ - RecordProperty("Requirement", "SCR-861534, SCR-7263552"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "RecorderFactory will return empty recorder in case of configuration error."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - score::cpp::pmr::memory_resource* null_memory_resource = nullptr; - auto recorder = RecorderFactory{}.CreateFromConfiguration(null_memory_resource); - EXPECT_EQ(nullptr, recorder); -} - -TEST_F(RecorderFactoryConfigFixture, ConfigurationWithConfigReaderMemoryErrorShallReturnEmptyRecorder) -{ - RecordProperty("Requirement", "SCR-861534, SCR-7263552"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "RecorderFactory will return empty recorder in case of configuration error."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - auto config_reader_mock = std::make_unique(); - score::cpp::pmr::memory_resource* null_memory_resource = nullptr; - auto recorder = RecorderFactory{}.CreateFromConfiguration(std::move(config_reader_mock), null_memory_resource); - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, CreateConsoleLoggingOnlyMemoryErrorShallReturnEmptyRecorder) -{ - RecordProperty("Requirement", "SCR-861534, SCR-7263552"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", - "Create Console Logging Recorder will return empty recorder in case of memory error."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - score::cpp::pmr::memory_resource* null_memory_resource = nullptr; - auto recorder = RecorderFactory{}.CreateWithConsoleLoggingOnly(null_memory_resource); - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, CreateRecorderFromLogModeMemoryErrorShallReturnEmptyRecorder) -{ - RecordProperty("Requirement", "SCR-861534, SCR-7263552"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "Recorder created using LogMode will return empty recorder in case of memory error."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - score::cpp::pmr::memory_resource* null_memory_resource = nullptr; - Configuration config{}; - auto fcntl_mock = score::cpp::pmr::make_unique(memory_resource_); - auto recorder = RecorderFactory{}.CreateRecorderFromLogMode( - LogMode::kFile, config, std::move(fcntl_mock), null_memory_resource); - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, CreateRecorderFromLogModeOutOfRangeShallReturnEmptyRecorder) -{ - RecordProperty("Requirement", "SCR-861534, SCR-7263552"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "Recorder created based on invalid LogMode will return empty recorder."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - score::cpp::pmr::memory_resource* null_memory_resource = nullptr; - Configuration config{}; - const LogMode mode = static_cast(std::numeric_limits>::max()); - auto fcntl_mock = score::cpp::pmr::make_unique(memory_resource_); - auto recorder = - RecorderFactory{}.CreateRecorderFromLogMode(mode, config, std::move(fcntl_mock), null_memory_resource); - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, ConfigurationErrorShallFallbackToConsoleLogging) -{ - RecordProperty("Requirement", "SCR-861534, SCR-7263552"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "RecorderFactory will return text recorder in case of configuration error."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - SetTargetConfigReaderResult(score::MakeUnexpected(Error::kConfigurationFilesNotFound)); - auto recorder = CreateFromConfiguration(); - - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, NoRecorderConfiguredShallReturnEmptyRecorder) -{ - RecordProperty("Requirement", "SCR-861534"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "RecorderFactory can return empty recorder if no recorder is configured."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - // TargetConfigReader shall return a config with no active recorders. - SetConfigurationWithLogMode({}); - - auto recorder = CreateFromConfiguration(); - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, FileConfiguredShallReturnFileRecorder) -{ - RecordProperty("Requirement", "SCR-861534"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "RecorderFactory can create FileRecorder if file is configured."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - SetConfigurationWithLogMode({LogMode::kFile}); - auto recorder = CreateFromConfiguration(); - - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, FileConfiguredShallReturnEmptyRecorderWithInvalidFile) -{ - RecordProperty("Requirement", "SCR-861534"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "RecorderFactory can create FileRecorder if file is configured."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - Configuration config; - constexpr auto kInvalidPath = "!@#"; - config.SetLogFilePath(kInvalidPath); - SetConfigurationWithLogMode({LogMode::kFile}, config); - auto recorder = CreateFromConfiguration(); - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, ConsoleConfiguredShallReturnConsoleRecorder) -{ - RecordProperty("Requirement", "SCR-861534"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "RecorderFactory can create ConsoleRecorder if console is configured."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - SetConfigurationWithLogMode({LogMode::kConsole}); - auto recorder = CreateFromConfiguration(); - - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, CustomConfiguredShallReturnCustomRecorder) -{ - SetConfigurationWithLogMode({LogMode::kCustom}); - auto recorder = CreateFromConfiguration(); - - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, InvalidLogModeShallReturnEmptyRecorder) -{ - RecordProperty("Requirement", "SCR-861534"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "RecorderFactory will create EmptyRecorder in case of invalid log mode."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - SetConfigurationWithLogMode({LogMode::kInvalid}); - auto recorder = CreateFromConfiguration(); - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, OutOfRangeLogModeShallReturnEmptyRecorder) -{ - RecordProperty("Requirement", "SCR-861534"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "RecorderFactory will create EmptyRecorder in case of out of range log mode."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - // selected number should not be listed in LogMode enum definition - const LogMode out_of_range_log_mode = static_cast(240); - - SetConfigurationWithLogMode({out_of_range_log_mode}); - auto recorder = CreateFromConfiguration(); - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, MultipleLogModesShallReturnCompositeRecorder) -{ - RecordProperty("Requirement", "SCR-861534"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", - "RecorderFactory shall create CompositeRecorder in case of multiple log mode is configured."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - SetConfigurationWithLogMode({LogMode::kFile, LogMode::kConsole, LogMode::kRemote}); - auto recorder = CreateFromConfiguration(); - ASSERT_TRUE(IsRecorderOfType(recorder)); - const auto& composite_recorder = *dynamic_cast(recorder.get()); - - EXPECT_EQ(composite_recorder.GetRecorders().size(), config_result_->GetLogMode().size()); - - EXPECT_TRUE(ContainsRecorderOfType(composite_recorder)); - - EXPECT_TRUE(ContainsRecorderOfType(composite_recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, CreateWithConsoleLoggingOnlyShallReturnConsoleRecorder) -{ - RecordProperty("Requirement", "SCR-861534"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "Verifies the ability of creating a specific logging."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - auto recorder = RecorderFactory{}.CreateWithConsoleLoggingOnly(score::cpp::pmr::get_default_resource()); - - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, CreateStubShallReturnEmptyRecorder) -{ - RecordProperty("Requirement", "SCR-861534"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "RecorderFactory shall create EmptyRecorder in case of using CreateStub."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - auto recorder = RecorderFactory{}.CreateStub(); - - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -TEST_F(RecorderFactoryConfigFixture, SystemConfiguredShallReturnSlogRecorder) -{ - RecordProperty("ParentRequirement", "SCR-8017693"); - RecordProperty("Description", - "The system logger backend shall be enabled if and only if the log mode contains 'kSystem'"); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - SetConfigurationWithLogMode({LogMode::kSystem}); - auto recorder = CreateFromConfiguration(); - - // Console recorder shall be reused for slog backend. For slogger we also need to output ASCII like on the console. - EXPECT_TRUE(IsRecorderOfType(recorder)); -} - -} // namespace -} // namespace detail -} // namespace log -} // namespace mw -} // namespace score diff --git a/score/mw/log/detail/common/runtime_test.cpp b/score/mw/log/detail/common/runtime_test.cpp index 294d525b..d38832fc 100644 --- a/score/mw/log/detail/common/runtime_test.cpp +++ b/score/mw/log/detail/common/runtime_test.cpp @@ -12,12 +12,15 @@ ********************************************************************************/ #include "score/mw/log/runtime.h" -#include "score/mw/log/detail/common/recorder_config.h" #include "score/mw/log/detail/empty_recorder.h" +#include "score/mw/log/detail/text_recorder/text_recorder.h" +#include "score/mw/log/recorder_config.h" #include "score/mw/log/recorder_mock.h" #include "gtest/gtest.h" +#include + namespace score { namespace mw @@ -29,6 +32,8 @@ namespace detail namespace { +using ConsoleRecorderType = std::conditional_t; + template bool IsRecorderOfType(const Recorder& recorder) noexcept { diff --git a/score/mw/log/detail/data_router/BUILD b/score/mw/log/detail/data_router/BUILD index fca8b37f..b00c3a93 100644 --- a/score/mw/log/detail/data_router/BUILD +++ b/score/mw/log/detail/data_router/BUILD @@ -136,7 +136,7 @@ cc_test( deps = [ ":data_router_backend", ":message_passing_interface", - "//score/mw/log/detail/common:recorder_factory", + "//score/mw/log/backend:remote", "//score/mw/log/detail/data_router/shared_memory:reader", "//score/mw/log/test/console_logging_environment", "@googletest//:gtest_main", diff --git a/score/mw/log/detail/data_router/remote_dlt_recorder_factory_test.cpp b/score/mw/log/detail/data_router/remote_dlt_recorder_factory_test.cpp index c090adce..ba6ef395 100644 --- a/score/mw/log/detail/data_router/remote_dlt_recorder_factory_test.cpp +++ b/score/mw/log/detail/data_router/remote_dlt_recorder_factory_test.cpp @@ -14,7 +14,7 @@ #include "score/mw/log/detail/data_router/data_router_recorder.h" #include "score/mw/log/detail/common/composite_recorder.h" -#include "score/mw/log/detail/common/recorder_factory.h" +#include "score/mw/log/detail/registry_aware_recorder_factory.h" #include "score/mw/log/configuration/target_config_reader_mock.h" @@ -69,30 +69,7 @@ class RecorderFactoryConfigFixture : public ::testing::Test } void TearDown() override {} - std::unique_ptr CreateFromConfiguration() noexcept - { - auto config_reader_mock = std::make_unique(); - ON_CALL(*config_reader_mock, ReadConfig).WillByDefault(testing::Invoke([&]() { - return config_result_; - })); - return RecorderFactory{}.CreateFromConfiguration(std::move(config_reader_mock), - score::cpp::pmr::get_default_resource()); - } - - void SetTargetConfigReaderResult(score::Result result) noexcept - { - config_result_ = result; - } - - void SetConfigurationWithLogMode(const std::unordered_set& log_modes, - Configuration config = Configuration{}) noexcept - { - config.SetLogMode(log_modes); - SetTargetConfigReaderResult(config); - } - protected: - score::Result config_result_; score::cpp::pmr::memory_resource* memory_resource_ = nullptr; }; @@ -104,8 +81,9 @@ TEST_F(RecorderFactoryConfigFixture, RemoteConfiguredShallReturnDataRouterRecord RecordProperty("TestingTechnique", "Requirements-based test"); RecordProperty("DerivationTechnique", "Analysis of requirements"); - SetConfigurationWithLogMode({LogMode::kRemote}); - auto recorder = CreateFromConfiguration(); + const Configuration config{}; + auto recorder = + RegistryAwareRecorderFactory{}.CreateRecorderFromLogMode(LogMode::kRemote, config, memory_resource_); EXPECT_TRUE(IsRecorderOfType(recorder)); } @@ -118,13 +96,22 @@ TEST_F(RecorderFactoryConfigFixture, MultipleLogModesShallReturnCompositeRecorde RecordProperty("TestingTechnique", "Requirements-based test"); RecordProperty("DerivationTechnique", "Analysis of requirements"); - SetConfigurationWithLogMode({LogMode::kFile, LogMode::kConsole, LogMode::kRemote}); - auto recorder = CreateFromConfiguration(); - ASSERT_TRUE(IsRecorderOfType(recorder)); - const auto& composite_recorder = *dynamic_cast(recorder.get()); + const Configuration config{}; + const std::unordered_set modes{LogMode::kFile, LogMode::kConsole, LogMode::kRemote}; + + std::vector> recorders; + for (const auto& mode : modes) + { + auto recorder = RegistryAwareRecorderFactory{}.CreateRecorderFromLogMode(mode, config, memory_resource_); + if (recorder != nullptr) + { + std::ignore = recorders.emplace_back(std::move(recorder)); + } + } - EXPECT_EQ(composite_recorder.GetRecorders().size(), config_result_->GetLogMode().size()); - EXPECT_TRUE(ContainsRecorderOfType(composite_recorder)); + ASSERT_EQ(recorders.size(), modes.size()); + auto composite = std::make_unique(std::move(recorders)); + EXPECT_TRUE(ContainsRecorderOfType(*composite)); } } // namespace diff --git a/score/mw/log/detail/file_recorder/BUILD b/score/mw/log/detail/file_recorder/BUILD index a822c060..ed880c41 100644 --- a/score/mw/log/detail/file_recorder/BUILD +++ b/score/mw/log/detail/file_recorder/BUILD @@ -83,8 +83,8 @@ cc_library( ], deps = [ ":file_recorder", + "@score_baselibs//score/mw/log:empty_recorder", "@score_baselibs//score/mw/log/configuration", - "@score_baselibs//score/mw/log/detail:empty_recorder", "@score_baselibs//score/mw/log/detail:initialization_reporter", "@score_baselibs//score/mw/log/detail:log_recorder_factory", ], diff --git a/score/mw/log/test/console_logging_environment/BUILD b/score/mw/log/test/console_logging_environment/BUILD index 64cf16ba..e7585bde 100644 --- a/score/mw/log/test/console_logging_environment/BUILD +++ b/score/mw/log/test/console_logging_environment/BUILD @@ -39,9 +39,8 @@ cc_library( "console_logging_environment.h", ], deps = [ - "//score/mw/log/detail/common:recorder_factory", "@googletest//:gtest", - "@score_baselibs//score/mw/log:frontend", + "@score_baselibs//score/mw/log:console", "@score_baselibs//score/mw/log/detail/wait_free_stack", ], ) diff --git a/score/mw/log/test/console_logging_environment/console_logging_environment.cpp b/score/mw/log/test/console_logging_environment/console_logging_environment.cpp index e4858e3a..29ccbc76 100644 --- a/score/mw/log/test/console_logging_environment/console_logging_environment.cpp +++ b/score/mw/log/test/console_logging_environment/console_logging_environment.cpp @@ -12,7 +12,7 @@ ********************************************************************************/ #include "score/mw/log/test/console_logging_environment/console_logging_environment.h" -#include "score/mw/log/detail/common/recorder_factory.h" +#include "score/mw/log/detail/registry_aware_recorder_factory.h" #include "score/mw/log/runtime.h" @@ -28,7 +28,8 @@ void ConsoleLoggingEnvironment::SetUp() score::mw::log::detail::Configuration config{}; config.SetLogMode({score::mw::LogMode::kConsole}); config.SetDefaultConsoleLogLevel(score::mw::log::LogLevel::kVerbose); - recorder_ = score::mw::log::detail::RecorderFactory().CreateRecorderFromLogMode(score::mw::LogMode::kConsole, config); + recorder_ = score::mw::log::detail::RegistryAwareRecorderFactory().CreateRecorderFromLogMode( + score::mw::LogMode::kConsole, config); score::mw::log::detail::Runtime::SetRecorder(recorder_.get()); } From 3f7e9a80c58b864db64b52ffa55afc93d7ff872a Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Wed, 25 Mar 2026 17:08:57 +0100 Subject: [PATCH 22/49] Moves composite_recorder to detail - so that its made available in baselibs for the registry_aware_recorder_factory - Fixes mw/log targets such that the minimal log target includes only frontend + empty backend - Introduce minimal console log target with frontend + console only backend - All backends register console backend by default and gracefully fallback to stub in case of failures GIT_ORIGIN_SPP_REV_ID: 51dc3c071b6ca8c58f20450849db63c5c41e384b --- score/mw/log/backend/BUILD | 63 ++-- score/mw/log/backend/custom_registrant.cpp | 19 +- score/mw/log/backend/file_registrant.cpp | 18 +- .../backend/file_registrant_disabled_test.cpp | 54 +++ ...t.cpp => file_registrant_enabled_test.cpp} | 8 +- score/mw/log/backend/remote_registrant.cpp | 18 +- .../remote_registrant_disabled_test.cpp | 55 +++ ...cpp => remote_registrant_enabled_test.cpp} | 5 +- score/mw/log/backend/slog_registrant.cpp | 2 +- score/mw/log/backend/slog_registrant_test.cpp | 5 +- score/mw/log/detail/common/BUILD | 50 +-- .../log/detail/common/composite_recorder.cpp | 258 ------------- .../mw/log/detail/common/composite_recorder.h | 81 ---- .../detail/common/composite_recorder_test.cpp | 350 ------------------ score/mw/log/detail/common/runtime_test.cpp | 8 +- score/mw/log/detail/data_router/BUILD | 2 +- .../remote_dlt_recorder_factory_test.cpp | 26 +- score/mw/log/detail/file_recorder/BUILD | 2 +- 18 files changed, 200 insertions(+), 824 deletions(-) create mode 100644 score/mw/log/backend/file_registrant_disabled_test.cpp rename score/mw/log/backend/{file_registrant_test.cpp => file_registrant_enabled_test.cpp} (82%) create mode 100644 score/mw/log/backend/remote_registrant_disabled_test.cpp rename score/mw/log/backend/{remote_registrant_test.cpp => remote_registrant_enabled_test.cpp} (84%) delete mode 100644 score/mw/log/detail/common/composite_recorder.cpp delete mode 100644 score/mw/log/detail/common/composite_recorder.h delete mode 100644 score/mw/log/detail/common/composite_recorder_test.cpp diff --git a/score/mw/log/backend/BUILD b/score/mw/log/backend/BUILD index 17a4e466..dba9a725 100644 --- a/score/mw/log/backend/BUILD +++ b/score/mw/log/backend/BUILD @@ -28,20 +28,21 @@ COMPILER_WARNING_FEATURES = [ # Add this dep to your binary to enable file-based DLT logging. cc_library( name = "file", - srcs = ["file_registrant.cpp"], - features = COMPILER_WARNING_FEATURES, - local_defines = select({ - "//score/mw/log/detail/flags:config_KFile_Logging": ["KFILE_LOGGING"], + srcs = select({ + "//score/mw/log/detail/flags:config_KFile_Logging": ["file_registrant.cpp"], "//conditions:default": [], }), + features = COMPILER_WARNING_FEATURES, tags = ["FFI"], visibility = ["//visibility:public"], # platform_only deps = [ - "//score/mw/log/detail/file_recorder:file_recorder_factory", - "@score_baselibs//score/mw/log:backend_table", - "@score_baselibs//score/mw/log:empty_recorder", - "@score_baselibs//score/mw/log:recorder_config", - ], + "@score_baselibs//score/mw/log:minimal", + ] + select({ + "//score/mw/log/detail/flags:config_KFile_Logging": [ + "//score/mw/log/detail/file_recorder:file_recorder_factory", + ], + "//conditions:default": [], + }), alwayslink = True, ) @@ -49,20 +50,21 @@ cc_library( # Add this dep to your binary to enable remote DLT logging. cc_library( name = "remote", - srcs = ["remote_registrant.cpp"], - features = COMPILER_WARNING_FEATURES, - local_defines = select({ - "//score/mw/log/flags:Remote_Logging": ["KREMOTE_LOGGING"], + srcs = select({ + "//score/mw/log/flags:Remote_Logging": ["remote_registrant.cpp"], "//conditions:default": [], }), + features = COMPILER_WARNING_FEATURES, tags = ["FFI"], visibility = ["//visibility:public"], # platform_only deps = [ - "//score/mw/log/detail/data_router:remote_dlt_recorder_factory", - "@score_baselibs//score/mw/log:backend_table", - "@score_baselibs//score/mw/log:empty_recorder", - "@score_baselibs//score/mw/log:recorder_config", - ], + "@score_baselibs//score/mw/log:minimal", + ] + select({ + "//score/mw/log/flags:Remote_Logging": [ + "//score/mw/log/detail/data_router:remote_dlt_recorder_factory", + ], + "//conditions:default": [], + }), alwayslink = True, ) @@ -77,7 +79,7 @@ cc_library( visibility = ["//visibility:public"], # platform_only deps = [ "//score/mw/log/detail/slog:slog_recorder_factory", - "@score_baselibs//score/mw/log:backend_table", + "@score_baselibs//score/mw/log:minimal", ], alwayslink = True, ) @@ -87,18 +89,15 @@ cc_library( # and --@score_logging//score/mw/log/flags:custom_recorder_impl=//your:target. cc_library( name = "custom", - srcs = ["custom_registrant.cpp"], - features = COMPILER_WARNING_FEATURES, - local_defines = select({ - "//score/mw/log/flags:Custom_Logging": ["KCUSTOM_LOGGING"], + srcs = select({ + "//score/mw/log/flags:Custom_Logging": ["custom_registrant.cpp"], "//conditions:default": [], }), + features = COMPILER_WARNING_FEATURES, tags = ["FFI"], visibility = ["//visibility:public"], deps = [ - "@score_baselibs//score/mw/log:backend_table", - "@score_baselibs//score/mw/log:empty_recorder", - "@score_baselibs//score/mw/log:recorder_config", + "@score_baselibs//score/mw/log:minimal", ] + select({ "//score/mw/log/flags:Custom_Logging": [ "//score/mw/log/flags:custom_recorder_impl", @@ -110,7 +109,10 @@ cc_library( cc_test( name = "file_registrant_test", - srcs = ["file_registrant_test.cpp"], + srcs = select({ + "//score/mw/log/detail/flags:config_KFile_Logging": ["file_registrant_enabled_test.cpp"], + "//conditions:default": ["file_registrant_disabled_test.cpp"], + }), features = COMPILER_WARNING_FEATURES + [ "aborts_upon_exception", ], @@ -124,7 +126,10 @@ cc_test( cc_test( name = "remote_registrant_test", - srcs = ["remote_registrant_test.cpp"], + srcs = select({ + "//score/mw/log/flags:Remote_Logging": ["remote_registrant_enabled_test.cpp"], + "//conditions:default": ["remote_registrant_disabled_test.cpp"], + }), features = COMPILER_WARNING_FEATURES + [ "aborts_upon_exception", ], @@ -132,8 +137,8 @@ cc_test( deps = [ ":remote", "@googletest//:gtest_main", - "@score_baselibs//score/mw/log:backend_console", "@score_baselibs//score/mw/log:backend_table", + "@score_baselibs//score/mw/log:console", ], ) diff --git a/score/mw/log/backend/custom_registrant.cpp b/score/mw/log/backend/custom_registrant.cpp index fd0b500c..32cf6f80 100644 --- a/score/mw/log/backend/custom_registrant.cpp +++ b/score/mw/log/backend/custom_registrant.cpp @@ -10,17 +10,8 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -#include "score/mw/log/detail/backend_table.h" -#include "score/mw/log/recorder_config.h" - -#include "score/mw/log/detail/empty_recorder.h" - -// When KCUSTOM_LOGGING is defined, this header is provided by the -// custom_recorder_impl label_flag target. -// coverity[autosar_cpp14_a16_0_1_violation] -#if defined(KCUSTOM_LOGGING) #include "custom_recorder.h" -#endif +#include "score/mw/log/backend_table.h" namespace score { @@ -35,16 +26,8 @@ namespace std::unique_ptr CreateCustomRecorder(const Configuration& config, score::cpp::pmr::memory_resource* memory_resource) { - // coverity[autosar_cpp14_a16_0_1_violation] -#if defined(KCUSTOM_LOGGING) CustomRecorderFactory factory; return factory.CreateLogRecorder(config, memory_resource); -#else - static_cast(config); - static_cast(memory_resource); - return std::make_unique(); - // coverity[autosar_cpp14_a16_0_1_violation] -#endif } /* diff --git a/score/mw/log/backend/file_registrant.cpp b/score/mw/log/backend/file_registrant.cpp index 7c8571ba..9ca6d38c 100644 --- a/score/mw/log/backend/file_registrant.cpp +++ b/score/mw/log/backend/file_registrant.cpp @@ -10,10 +10,7 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -#include "score/mw/log/detail/backend_table.h" -#include "score/mw/log/recorder_config.h" - -#include "score/mw/log/detail/empty_recorder.h" +#include "score/mw/log/backend_table.h" #include "score/mw/log/detail/file_recorder/file_recorder_factory.h" namespace score @@ -29,17 +26,8 @@ namespace std::unique_ptr CreateFileRecorder(const Configuration& config, score::cpp::pmr::memory_resource* memory_resource) { - if constexpr (kFileLoggingEnabled) - { - FileRecorderFactory factory{score::os::Fcntl::Default(memory_resource)}; - return factory.CreateLogRecorder(config, memory_resource); - } - else - { - static_cast(config); - static_cast(memory_resource); - return std::make_unique(); - } + FileRecorderFactory factory{score::os::Fcntl::Default(memory_resource)}; + return factory.CreateLogRecorder(config, memory_resource); } /* diff --git a/score/mw/log/backend/file_registrant_disabled_test.cpp b/score/mw/log/backend/file_registrant_disabled_test.cpp new file mode 100644 index 00000000..5d0e3317 --- /dev/null +++ b/score/mw/log/backend/file_registrant_disabled_test.cpp @@ -0,0 +1,54 @@ +/******************************************************************************** + * Copyright (c) 2026 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ +#include "score/mw/log/backend_table.h" + +#include "gtest/gtest.h" + +namespace score +{ +namespace mw +{ +namespace log +{ +namespace detail +{ +namespace +{ + +TEST(FileRegistrantTest, FileBackendIsNotRegisteredWhenDisabled) +{ + RecordProperty("Description", "When file logging is disabled, no creator shall be registered for LogMode::kFile."); + RecordProperty("TestType", "Verification of the control flow and data flow"); + RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); + + EXPECT_FALSE(IsBackendAvailable(LogMode::kFile)); +} + +TEST(FileRegistrantTest, CreateRecorderForModeReturnsNullptrWhenFileLoggingDisabled) +{ + RecordProperty("Description", + "CreateRecorderForMode shall return nullptr for LogMode::kFile when file logging is disabled."); + RecordProperty("TestType", "Interface test"); + RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); + + const Configuration config; + auto recorder = CreateRecorderForMode(LogMode::kFile, config, score::cpp::pmr::get_default_resource()); + + EXPECT_EQ(recorder, nullptr); +} + +} // namespace +} // namespace detail +} // namespace log +} // namespace mw +} // namespace score diff --git a/score/mw/log/backend/file_registrant_test.cpp b/score/mw/log/backend/file_registrant_enabled_test.cpp similarity index 82% rename from score/mw/log/backend/file_registrant_test.cpp rename to score/mw/log/backend/file_registrant_enabled_test.cpp index 9bffc907..a1bb0125 100644 --- a/score/mw/log/backend/file_registrant_test.cpp +++ b/score/mw/log/backend/file_registrant_enabled_test.cpp @@ -10,7 +10,7 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -#include "score/mw/log/detail/backend_table.h" +#include "score/mw/log/backend_table.h" #include "gtest/gtest.h" @@ -29,7 +29,8 @@ TEST(FileRegistrantTest, FileBackendIsRegisteredAfterStaticInitialization) { RecordProperty("Description", "The file backend registrant shall register a creator for LogMode::kFile during static init."); - RecordProperty("TestingTechnique", "Requirements-based test"); + RecordProperty("TestType", "Verification of the control flow and data flow"); + RecordProperty("DerivationTechnique", "Analysis of functional dependencies"); EXPECT_TRUE(IsBackendAvailable(LogMode::kFile)); } @@ -38,7 +39,8 @@ TEST(FileRegistrantTest, FileBackendCreatorReturnsNonNullRecorder) { RecordProperty("Description", "The registered file backend creator shall return a non-null Recorder given valid configuration."); - RecordProperty("TestingTechnique", "Requirements-based test"); + RecordProperty("TestType", "Interface test"); + RecordProperty("DerivationTechnique", "Analysis of functional dependencies"); ASSERT_TRUE(IsBackendAvailable(LogMode::kFile)); diff --git a/score/mw/log/backend/remote_registrant.cpp b/score/mw/log/backend/remote_registrant.cpp index 632f89fb..46d5af35 100644 --- a/score/mw/log/backend/remote_registrant.cpp +++ b/score/mw/log/backend/remote_registrant.cpp @@ -10,11 +10,8 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -#include "score/mw/log/detail/backend_table.h" -#include "score/mw/log/recorder_config.h" - +#include "score/mw/log/backend_table.h" #include "score/mw/log/detail/data_router/remote_dlt_recorder_factory.h" -#include "score/mw/log/detail/empty_recorder.h" namespace score { @@ -29,17 +26,8 @@ namespace std::unique_ptr CreateRemoteRecorder(const Configuration& config, score::cpp::pmr::memory_resource* memory_resource) { - if constexpr (kRemoteLoggingEnabled) - { - RemoteDltRecorderFactory factory; - return factory.CreateLogRecorder(config, memory_resource); - } - else - { - static_cast(config); - static_cast(memory_resource); - return std::make_unique(); - } + RemoteDltRecorderFactory factory; + return factory.CreateLogRecorder(config, memory_resource); } /* diff --git a/score/mw/log/backend/remote_registrant_disabled_test.cpp b/score/mw/log/backend/remote_registrant_disabled_test.cpp new file mode 100644 index 00000000..45a5ee41 --- /dev/null +++ b/score/mw/log/backend/remote_registrant_disabled_test.cpp @@ -0,0 +1,55 @@ +/******************************************************************************** + * Copyright (c) 2026 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ +#include "score/mw/log/backend_table.h" + +#include "gtest/gtest.h" + +namespace score +{ +namespace mw +{ +namespace log +{ +namespace detail +{ +namespace +{ + +TEST(RemoteRegistrantTest, RemoteBackendIsNotRegisteredWhenDisabled) +{ + RecordProperty("Description", + "When remote logging is disabled, no creator shall be registered for LogMode::kRemote."); + RecordProperty("TestType", "Verification of the control flow and data flow"); + RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); + + EXPECT_FALSE(IsBackendAvailable(LogMode::kRemote)); +} + +TEST(RemoteRegistrantTest, CreateRecorderForModeReturnsNullptrWhenRemoteLoggingDisabled) +{ + RecordProperty("Description", + "CreateRecorderForMode shall return nullptr for LogMode::kRemote when remote logging is disabled."); + RecordProperty("TestType", "Interface test"); + RecordProperty("DerivationTechnique", "Generation and analysis of equivalence classes"); + + const Configuration config; + auto recorder = CreateRecorderForMode(LogMode::kRemote, config, score::cpp::pmr::get_default_resource()); + + EXPECT_EQ(recorder, nullptr); +} + +} // namespace +} // namespace detail +} // namespace log +} // namespace mw +} // namespace score diff --git a/score/mw/log/backend/remote_registrant_test.cpp b/score/mw/log/backend/remote_registrant_enabled_test.cpp similarity index 84% rename from score/mw/log/backend/remote_registrant_test.cpp rename to score/mw/log/backend/remote_registrant_enabled_test.cpp index b9c359b0..10b2896b 100644 --- a/score/mw/log/backend/remote_registrant_test.cpp +++ b/score/mw/log/backend/remote_registrant_enabled_test.cpp @@ -10,7 +10,7 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -#include "score/mw/log/detail/backend_table.h" +#include "score/mw/log/backend_table.h" #include "gtest/gtest.h" @@ -29,7 +29,8 @@ TEST(RemoteRegistrantTest, RemoteBackendIsRegisteredAfterStaticInitialization) { RecordProperty("Description", "The remote backend registrant shall register a creator for LogMode::kRemote during static init."); - RecordProperty("TestingTechnique", "Requirements-based test"); + RecordProperty("TestType", "Verification of the control flow and data flow"); + RecordProperty("DerivationTechnique", "Analysis of functional dependencies"); EXPECT_TRUE(IsBackendAvailable(LogMode::kRemote)); } diff --git a/score/mw/log/backend/slog_registrant.cpp b/score/mw/log/backend/slog_registrant.cpp index 6db1da51..ad3554d3 100644 --- a/score/mw/log/backend/slog_registrant.cpp +++ b/score/mw/log/backend/slog_registrant.cpp @@ -10,7 +10,7 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -#include "score/mw/log/detail/backend_table.h" +#include "score/mw/log/backend_table.h" #include "score/mw/log/detail/slog/slog_recorder_factory.h" namespace score diff --git a/score/mw/log/backend/slog_registrant_test.cpp b/score/mw/log/backend/slog_registrant_test.cpp index fbebdb0a..01f3268d 100644 --- a/score/mw/log/backend/slog_registrant_test.cpp +++ b/score/mw/log/backend/slog_registrant_test.cpp @@ -10,7 +10,7 @@ * * SPDX-License-Identifier: Apache-2.0 ********************************************************************************/ -#include "score/mw/log/detail/backend_table.h" +#include "score/mw/log/backend_table.h" #include "gtest/gtest.h" @@ -29,7 +29,8 @@ TEST(SlogRegistrantTest, SlogBackendIsRegisteredAfterStaticInitialization) { RecordProperty("Description", "The slog backend registrant shall register a creator for LogMode::kSystem during static init."); - RecordProperty("TestingTechnique", "Requirements-based test"); + RecordProperty("TestType", "Verification of the control flow and data flow"); + RecordProperty("DerivationTechnique", "Analysis of functional dependencies"); EXPECT_TRUE(IsBackendAvailable(LogMode::kSystem)); } diff --git a/score/mw/log/detail/common/BUILD b/score/mw/log/detail/common/BUILD index 7627bb30..55e69110 100644 --- a/score/mw/log/detail/common/BUILD +++ b/score/mw/log/detail/common/BUILD @@ -153,47 +153,6 @@ cc_library( ], ) -cc_library( - name = "composite_recorder", - srcs = [ - "composite_recorder.cpp", - ], - hdrs = [ - "composite_recorder.h", - ], - features = COMPILER_WARNING_FEATURES, - tags = ["FFI"], - visibility = [ - "//platform/aas/tools/sctf/mw_log_helper:__pkg__", - "//score/mw/log/detail/data_router:__pkg__", - "@score_baselibs//score/mw/log:__pkg__", - "@score_baselibs//score/mw/log/detail:__pkg__", - ], - deps = [ - "@score_baselibs//score/mw/log:recorder", - "@score_baselibs//score/mw/log/detail:initialization_reporter", - "@score_baselibs//score/mw/log/detail:types_and_errors", - ], -) - -cc_test( - name = "composite_recorder_test", - srcs = [ - "composite_recorder_test.cpp", - ], - data = [ - ], - features = COMPILER_WARNING_FEATURES + [ - "aborts_upon_exception", - ], - tags = ["unit"], - deps = [ - ":composite_recorder", - "@googletest//:gtest_main", - "@score_baselibs//score/mw/log:recorder_mock", - ], -) - cc_test( name = "dlt_format_test", srcs = [ @@ -281,8 +240,12 @@ cc_test( "@score_baselibs//score/mw/log:console", "@score_baselibs//score/mw/log:recorder_config", "@score_baselibs//score/mw/log:recorder_mock", - "@score_baselibs//score/mw/log/detail/text_recorder", - ], + ] + select({ + "//score/mw/log/detail/flags:config_KConsole_Logging": [ + "@score_baselibs//score/mw/log/detail/text_recorder", + ], + "//conditions:default": [], + }), ) cc_test( @@ -322,7 +285,6 @@ cc_test( cc_unit_test_suites_for_host_and_qnx( name = "unit_tests", cc_unit_tests = [ - ":composite_recorder_test", ":dlt_format_test", ":log_entry_deserialize_test", ":statistics_reporter_test", diff --git a/score/mw/log/detail/common/composite_recorder.cpp b/score/mw/log/detail/common/composite_recorder.cpp deleted file mode 100644 index b0adde54..00000000 --- a/score/mw/log/detail/common/composite_recorder.cpp +++ /dev/null @@ -1,258 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -#include "score/mw/log/detail/common/composite_recorder.h" - -#include "score/result/result.h" -#include "score/mw/log/detail/error.h" -#include "score/mw/log/detail/initialization_reporter.h" - -#include "score/callback.hpp" - -#include - -namespace score -{ -namespace mw -{ -namespace log -{ -namespace detail -{ -namespace -{ - -// Deviation from Rule A0-1-1: -// - A project shall not contain instances of non-volatile variables being given values that are not subsequently used. -// Justification: -// - It's false positive, as kRecorderWithRecorderIdCallbackCapacity is already used. -// coverity[autosar_cpp14_a0_1_1_violation : FALSE] -constexpr std::size_t kRecorderWithRecorderIdCallbackCapacity = 64UL; -using RecorderWithRecorderIdCallback = - score::cpp::callback; - -/// \brief Iterates over all recorders and invokes a callback. -void ForEachRecorder(const std::vector>& recorders, - const RecorderWithRecorderIdCallback callback) noexcept -{ - const auto begin = recorders.begin(); - for (auto it = recorders.begin(); it < recorders.end(); it++) - { - const auto index = static_cast(std::distance(begin, it)); - callback(**it, SlotHandle::RecorderIdentifier{index}); - } -} - -using RecorderWithSlotCallback = score::cpp::callback; - -/// \brief Iterates over all recorders with an active slot. -/// \details For each recorder, we check if the composite_slot contains a corresponding slot handle. If the slot handle -/// is available we invoke the callback with the pair of concrete recorder and corresponding slot. -void ForEachActiveSlot(const std::vector>& recorders, - const SlotHandle composite_slot, - const RecorderWithSlotCallback callback) noexcept -{ - SlotHandle slot_for_recorder{}; - ForEachRecorder(recorders, - [&slot_for_recorder, &composite_slot, &callback](Recorder& recorder, - const SlotHandle::RecorderIdentifier recorder_id) { - if (composite_slot.IsRecorderActive(recorder_id)) - { - slot_for_recorder.SetSlot(composite_slot.GetSlot(recorder_id)); - callback(recorder, slot_for_recorder); - } - }); -} - -template -void LogForEachActiveSlot(const std::vector>& recorders, - const SlotHandle& composite_slot, - const T& arg) -{ - // LCOV_EXCL_START : no branches to test - ForEachActiveSlot(recorders, composite_slot, [arg](Recorder& recorder, const SlotHandle& slot) noexcept { - recorder.Log(slot, arg); - }); - // LCOV_EXCL_STOP -} -} // namespace - -CompositeRecorder::CompositeRecorder(std::vector> recorders) noexcept - : Recorder{}, recorders_{std::move(recorders)} -{ - if (recorders_.size() > SlotHandle::kMaxRecorders) - { - ReportInitializationError(Error::kMaximumNumberOfRecordersExceeded); - recorders_.resize(SlotHandle::kMaxRecorders); - } -} - -score::cpp::optional CompositeRecorder::StartRecord(const std::string_view context_id, - const LogLevel log_level) noexcept -{ - SlotHandle composite_slot{}; - - ForEachRecorder(recorders_, - [&context_id, &log_level, &composite_slot](Recorder& recorder, - const SlotHandle::RecorderIdentifier recorder_id) { - const auto result = recorder.StartRecord(context_id, log_level); - if (result.has_value()) - { - // LCOV_EXCL_START : no branches to test - composite_slot.SetSlot(result->GetSlotOfSelectedRecorder(), recorder_id); - // LCOV_EXCL_STOP - } - }); - - return composite_slot; -} - -void CompositeRecorder::StopRecord(const SlotHandle& slot) noexcept -{ - ForEachActiveSlot(recorders_, slot, [](Recorder& recorder, const SlotHandle& composite_slot) noexcept { - recorder.StopRecord(composite_slot); - }); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const bool data) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, data); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const std::uint8_t arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const std::int8_t arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg); -} -void CompositeRecorder::Log(const SlotHandle& composite_slot, const std::uint16_t arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const std::int16_t arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const std::uint32_t arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const std::int32_t arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const std::uint64_t arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const std::int64_t arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const float arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const double arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const std::string_view arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const LogHex8 arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg.value); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const LogHex16 arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg.value); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const LogHex32 arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg.value); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const LogHex64 arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg.value); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const LogBin8 arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg.value); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const LogBin16 arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg.value); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const LogBin32 arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg.value); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const LogBin64 arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg.value); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const LogRawBuffer arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg); -} - -void CompositeRecorder::Log(const SlotHandle& composite_slot, const LogSlog2Message arg) noexcept -{ - LogForEachActiveSlot(recorders_, composite_slot, arg.GetMessage()); -} - -const std::vector>& CompositeRecorder::GetRecorders() const noexcept -{ - return recorders_; -} - -bool CompositeRecorder::IsLogEnabled(const LogLevel& log_level, const std::string_view context) const noexcept -{ - // Return true if at least one recorder is enabled. - - bool is_log_enabled = false; - - ForEachRecorder( - recorders_, - [&is_log_enabled, log_level, context](const auto& recorder, const SlotHandle::RecorderIdentifier) noexcept { - is_log_enabled = is_log_enabled || recorder.IsLogEnabled(log_level, context); - }); - - return is_log_enabled; -} - -} // namespace detail -} // namespace log -} // namespace mw -} // namespace score diff --git a/score/mw/log/detail/common/composite_recorder.h b/score/mw/log/detail/common/composite_recorder.h deleted file mode 100644 index bb14018e..00000000 --- a/score/mw/log/detail/common/composite_recorder.h +++ /dev/null @@ -1,81 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -#ifndef SCORE_MW_LOG_DETAIL_COMMON_COMPOSITE_RECORDER_H -#define SCORE_MW_LOG_DETAIL_COMMON_COMPOSITE_RECORDER_H - -#include "score/mw/log/recorder.h" - -#include -#include - -namespace score -{ -namespace mw -{ -namespace log -{ -namespace detail -{ - -/// \brief CompositeRecorder forwards the log statement to one or more concrete Recorder(s). -class CompositeRecorder final : public Recorder -{ - public: - explicit CompositeRecorder(std::vector> recorders) noexcept; - - score::cpp::optional StartRecord(const std::string_view context_id, - const LogLevel log_level) noexcept override; - - void StopRecord(const SlotHandle& slot) noexcept override; - - void Log(const SlotHandle& composite_slot, const bool data) noexcept override; - void Log(const SlotHandle& composite_slot, const std::uint8_t arg) noexcept override; - void Log(const SlotHandle& composite_slot, const std::int8_t arg) noexcept override; - void Log(const SlotHandle& composite_slot, const std::uint16_t arg) noexcept override; - void Log(const SlotHandle& composite_slot, const std::int16_t arg) noexcept override; - void Log(const SlotHandle& composite_slot, const std::uint32_t arg) noexcept override; - void Log(const SlotHandle& composite_slot, const std::int32_t arg) noexcept override; - void Log(const SlotHandle& composite_slot, const std::uint64_t arg) noexcept override; - void Log(const SlotHandle& composite_slot, const std::int64_t arg) noexcept override; - void Log(const SlotHandle& composite_slot, const float arg) noexcept override; - void Log(const SlotHandle& composite_slot, const double arg) noexcept override; - void Log(const SlotHandle& composite_slot, const std::string_view arg) noexcept override; - - void Log(const SlotHandle& composite_slot, const LogHex8 arg) noexcept override; - void Log(const SlotHandle& composite_slot, const LogHex16 arg) noexcept override; - void Log(const SlotHandle& composite_slot, const LogHex32 arg) noexcept override; - void Log(const SlotHandle& composite_slot, const LogHex64 arg) noexcept override; - - void Log(const SlotHandle& composite_slot, const LogBin8 arg) noexcept override; - void Log(const SlotHandle& composite_slot, const LogBin16 arg) noexcept override; - void Log(const SlotHandle& composite_slot, const LogBin32 arg) noexcept override; - void Log(const SlotHandle& composite_slot, const LogBin64 arg) noexcept override; - - void Log(const SlotHandle& composite_slot, const LogRawBuffer arg) noexcept override; - - void Log(const SlotHandle& composite_slot, const LogSlog2Message) noexcept override; - - const std::vector>& GetRecorders() const noexcept; - - bool IsLogEnabled(const LogLevel& log_level, const std::string_view context) const noexcept override; - - private: - std::vector> recorders_; -}; - -} // namespace detail -} // namespace log -} // namespace mw -} // namespace score - -#endif // SCORE_MW_LOG_DETAIL_COMMON_COMPOSITE_RECORDER_H diff --git a/score/mw/log/detail/common/composite_recorder_test.cpp b/score/mw/log/detail/common/composite_recorder_test.cpp deleted file mode 100644 index 70b1c263..00000000 --- a/score/mw/log/detail/common/composite_recorder_test.cpp +++ /dev/null @@ -1,350 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ -#include "score/mw/log/detail/common/composite_recorder.h" - -#include "score/mw/log/recorder_mock.h" - -#include "gmock/gmock.h" -#include "gtest/gtest.h" - -#include "score/callback.hpp" - -#include -#include - -using testing::_; -using testing::Return; - -using namespace std::literals; - -namespace score -{ -namespace mw -{ -namespace log -{ -namespace detail -{ - -namespace -{ - -const std::string_view kContext{"aCtx"}; -const LogLevel kLogLevel{LogLevel::kInfo}; - -const bool kBool{true}; -const std::uint8_t kUint8{std::numeric_limits::max()}; -const std::uint16_t kUint16{std::numeric_limits::max()}; -const std::uint32_t kUint32{std::numeric_limits::max()}; -const std::uint64_t kUint64{std::numeric_limits::max()}; -const std::int8_t kInt8{std::numeric_limits::max()}; -const std::int16_t kInt16{std::numeric_limits::max()}; -const std::int32_t kInt32{std::numeric_limits::max()}; -const std::int64_t kInt64{std::numeric_limits::max()}; -const float kFloat{std::numeric_limits::max()}; -const double kDouble{std::numeric_limits::max()}; -const std::string_view kStringView{"Hello World"sv}; -// subtract one from max uint values to expect hex logging. -const LogHex8 kHex8{kUint8 - 1}; -const LogHex16 kHex16{kUint16 - 1}; -const LogHex32 kHex32{kUint32 - 1}; -const LogHex64 kHex64{kUint64 - 1}; - -// subtract 2 from max uint values to expect binary logging. -const LogBin8 kBin8{kUint8 - 2}; -const LogBin16 kBin16{kUint16 - 2}; -const LogBin32 kBin32{kUint32 - 2}; -const LogBin64 kBin64{kUint64 - 2}; - -LogRawBuffer gLogRawBuffer{nullptr, 0}; -LogSlog2Message gLogSlog2Message{1, "Hello World"}; - -MATCHER_P(LogStringEquals, expected, "matches LogString objects") -{ - return (arg.Size() == expected.Size()) && (std::memcmp(arg.Data(), expected.Data(), arg.Size()) == 0); -} -class CompositeRecorderFixture : public ::testing::Test -{ - public: - void SetUp() override {} - - void TearDown() override {} - - void AddRecorder(std::unique_ptr recorder) noexcept - { - recorders_.emplace_back(std::move(recorder)); - } - - void CreateAllAvailableRecorders(score::cpp::callback(size_t)> create_recorder) noexcept - { - for (size_t i = 0; i < SlotHandle::kMaxRecorders; ++i) - { - AddRecorder(create_recorder(i)); - } - } - - CompositeRecorder& CreateCompositeRecorder() noexcept - { - composite_recorder_ = std::make_unique(std::move(recorders_)); - - return *composite_recorder_; - } - - protected: - std::vector> recorders_{}; - std::unique_ptr composite_recorder_{}; -}; - -TEST_F(CompositeRecorderFixture, CompositeRecorderShallCropExceedingNumberOfRecorders) -{ - RecordProperty("Requirement", "SCR-1016719"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", - "adding recorders to composite recorder which exceed number of recorders will have no effect and " - "will be cropped."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - std::vector> recorders; - - // Add the number of allowed recorders - CreateAllAvailableRecorders([](std::size_t /*recorder*/) { - auto mock_recorder = std::make_unique(); - EXPECT_CALL(*mock_recorder, StartRecord(kContext, kLogLevel)); - return mock_recorder; - }); - - { - // Add one recorder exceeding the number of allowed recorders. - auto mock_recorder = std::make_unique(); - - // Since this recorder shall be dropped, StartRecord shall not be called. - EXPECT_CALL(*mock_recorder, StartRecord(kContext, kLogLevel)).Times(0); - - AddRecorder(std::move(mock_recorder)); - } - - auto& composite_recorder = CreateCompositeRecorder(); - - composite_recorder.StartRecord(kContext, kLogLevel); -} - -TEST_F(CompositeRecorderFixture, StartRecordWithSlotAvailableShallRetainCorrectSlot) -{ - RecordProperty("Requirement", "SCR-861578, SCR-1016719"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", - "if a slot is available, starting record in CompositeRecorder shall retain a correct slot."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - std::vector> recorders; - - CreateAllAvailableRecorders([](std::size_t recorder) { - auto mock_recorder = std::make_unique(); - - // Set the slot index to be equal to the recorder index. - EXPECT_CALL(*mock_recorder, StartRecord(kContext, kLogLevel)).WillOnce(Return(recorder)); - - EXPECT_CALL(*mock_recorder, StopRecord(SlotHandle{static_cast(recorder)})); - return mock_recorder; - }); - - auto& composite_recorder = CreateCompositeRecorder(); - - const auto slot = composite_recorder.StartRecord(kContext, kLogLevel); - ASSERT_TRUE(slot.has_value()); - composite_recorder.StopRecord(slot.value()); - - for (std::size_t recorder = 0; recorder < SlotHandle::kMaxRecorders; ++recorder) - { - EXPECT_TRUE(slot->IsRecorderActive(SlotHandle::RecorderIdentifier{recorder})); - - // Slot index shall be equal to the recorder index in this test case. - EXPECT_EQ(slot->GetSlot(SlotHandle::RecorderIdentifier{recorder}), recorder); - } -} - -TEST_F(CompositeRecorderFixture, StartRecordWithNoSlotAvailableShallDropRecorder) -{ - RecordProperty("Requirement", "SCR-861578, SCR-1016719"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "if no slot is available, starting record CompositeRecorder shall drop recorder."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - std::vector> recorders; - - CreateAllAvailableRecorders([](std::size_t /*recorder*/) { - auto mock_recorder = std::make_unique(); - EXPECT_CALL(*mock_recorder, StartRecord(kContext, kLogLevel)).WillOnce(Return(score::cpp::optional{})); - EXPECT_CALL(*mock_recorder, StopRecord(_)).Times(0); - return mock_recorder; - }); - - auto& composite_recorder = CreateCompositeRecorder(); - - const auto slot = composite_recorder.StartRecord(kContext, kLogLevel); - ASSERT_TRUE(slot.has_value()); - composite_recorder.StopRecord(slot.value()); - - for (std::size_t recorder = 0; recorder < SlotHandle::kMaxRecorders; ++recorder) - { - EXPECT_FALSE(slot->IsRecorderActive(SlotHandle::RecorderIdentifier{recorder})); - } -} - -TEST_F(CompositeRecorderFixture, LogInvocationShallBeForwardedToAllAvailableRecorders) -{ - RecordProperty("Requirement", "SCR-861534, SCR-1633236"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "log invocation shall be forworded to any supported logging type."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - std::vector> recorders; - - CreateAllAvailableRecorders([](std::size_t recorder) { - auto mock_recorder = std::make_unique(); - SlotHandle recorder_slot{static_cast(recorder)}; - EXPECT_CALL(*mock_recorder, StartRecord(kContext, kLogLevel)).WillOnce(Return(recorder_slot)); - EXPECT_CALL(*mock_recorder, LogBool(recorder_slot, kBool)); - EXPECT_CALL(*mock_recorder, LogUint8(recorder_slot, kUint8)); - EXPECT_CALL(*mock_recorder, LogUint16(recorder_slot, kUint16)); - EXPECT_CALL(*mock_recorder, LogUint32(recorder_slot, kUint32)); - EXPECT_CALL(*mock_recorder, LogUint64(recorder_slot, kUint64)); - EXPECT_CALL(*mock_recorder, LogInt8(recorder_slot, kInt8)); - EXPECT_CALL(*mock_recorder, LogInt16(recorder_slot, kInt16)); - EXPECT_CALL(*mock_recorder, LogInt32(recorder_slot, kInt32)); - EXPECT_CALL(*mock_recorder, LogInt64(recorder_slot, kInt64)); - EXPECT_CALL(*mock_recorder, LogFloat(recorder_slot, kFloat)); - EXPECT_CALL(*mock_recorder, LogDouble(recorder_slot, kDouble)); - EXPECT_CALL(*mock_recorder, LogStringView(recorder_slot, kStringView)); - EXPECT_CALL(*mock_recorder, LogUint8(recorder_slot, kHex8.value)); - EXPECT_CALL(*mock_recorder, LogUint16(recorder_slot, kHex16.value)); - EXPECT_CALL(*mock_recorder, LogUint32(recorder_slot, kHex32.value)); - EXPECT_CALL(*mock_recorder, LogUint64(recorder_slot, kHex64.value)); - - EXPECT_CALL(*mock_recorder, LogUint8(recorder_slot, kBin8.value)); - EXPECT_CALL(*mock_recorder, LogUint16(recorder_slot, kBin16.value)); - EXPECT_CALL(*mock_recorder, LogUint32(recorder_slot, kBin32.value)); - EXPECT_CALL(*mock_recorder, LogUint64(recorder_slot, kBin64.value)); - - EXPECT_CALL(*mock_recorder, - LogLogRawBuffer(recorder_slot, gLogRawBuffer.data(), static_cast(gLogRawBuffer.size()))); - return mock_recorder; - }); - - auto& composite_recorder = CreateCompositeRecorder(); - - const auto slot = composite_recorder.StartRecord(kContext, kLogLevel); - ASSERT_TRUE(slot.has_value()); - - composite_recorder.Log(slot.value(), kBool); - composite_recorder.Log(slot.value(), kUint8); - composite_recorder.Log(slot.value(), kUint16); - composite_recorder.Log(slot.value(), kUint32); - composite_recorder.Log(slot.value(), kUint64); - composite_recorder.Log(slot.value(), kInt8); - composite_recorder.Log(slot.value(), kInt16); - composite_recorder.Log(slot.value(), kInt32); - composite_recorder.Log(slot.value(), kInt64); - composite_recorder.Log(slot.value(), kFloat); - composite_recorder.Log(slot.value(), kDouble); - composite_recorder.Log(slot.value(), kStringView); - composite_recorder.Log(slot.value(), kHex8); - composite_recorder.Log(slot.value(), kHex16); - composite_recorder.Log(slot.value(), kHex32); - composite_recorder.Log(slot.value(), kHex64); - - composite_recorder.Log(slot.value(), kBin8); - composite_recorder.Log(slot.value(), kBin16); - composite_recorder.Log(slot.value(), kBin32); - composite_recorder.Log(slot.value(), kBin64); - - composite_recorder.Log(slot.value(), gLogRawBuffer); -} - -TEST_F(CompositeRecorderFixture, LogSlog2MessageAvailableRecorders) -{ - RecordProperty("Requirement", "SCR-861534, SCR-1633236"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "log invocation shall be forworded to any supported logging type."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - std::vector> recorders; - CreateAllAvailableRecorders([](std::size_t recorder) { - auto mock_recorder = std::make_unique(); - SlotHandle recorder_slot{static_cast(recorder)}; - EXPECT_CALL( - *mock_recorder, - LogLogSlog2Message(recorder_slot, - static_cast(gLogSlog2Message.GetCode()), - LogStringEquals(static_cast(gLogSlog2Message.GetMessage())))) - .Times(0); - return mock_recorder; - }); - auto& composite_recorder = CreateCompositeRecorder(); - - const auto slot = composite_recorder.StartRecord(kContext, kLogLevel); - ASSERT_TRUE(slot.has_value()); - composite_recorder.Log(slot.value(), gLogSlog2Message); -} - -TEST_F(CompositeRecorderFixture, LogShallBeEnabledIfAtLeastOneRecorderIsEnabled) -{ - RecordProperty("Requirement", "SCR-861578"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "if at least one recorder is enabled, the logging shall be enabled."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - const auto enable_first_recorder = [](std::size_t recorder_index) { - auto mock_recorder = std::make_unique(); - // Return enabled only for the first recorder. - EXPECT_CALL(*mock_recorder, IsLogEnabled(kLogLevel, kContext)).WillRepeatedly(Return(recorder_index == 0)); - return mock_recorder; - }; - - CreateAllAvailableRecorders(enable_first_recorder); - - auto& composite_recorder = CreateCompositeRecorder(); - EXPECT_TRUE(composite_recorder.IsLogEnabled(kLogLevel, kContext)); -} - -TEST_F(CompositeRecorderFixture, LogShallBeDisabledIfAllRecorderAreDisabled) -{ - RecordProperty("Requirement", "SCR-861578, SCR-1633144"); - RecordProperty("ASIL", "B"); - RecordProperty("Description", "if all recorders is disabled, the logging shall be disabled."); - RecordProperty("TestingTechnique", "Requirements-based test"); - RecordProperty("DerivationTechnique", "Analysis of requirements"); - - std::vector> recorders; - - CreateAllAvailableRecorders([](std::size_t /*recorder*/) { - auto mock_recorder = std::make_unique(); - EXPECT_CALL(*mock_recorder, IsLogEnabled(kLogLevel, kContext)).WillRepeatedly(Return(false)); - return mock_recorder; - }); - - auto& composite_recorder = CreateCompositeRecorder(); - EXPECT_FALSE(composite_recorder.IsLogEnabled(kLogLevel, kContext)); -} - -} // namespace -} // namespace detail -} // namespace log -} // namespace mw -} // namespace score diff --git a/score/mw/log/detail/common/runtime_test.cpp b/score/mw/log/detail/common/runtime_test.cpp index d38832fc..4d7af33f 100644 --- a/score/mw/log/detail/common/runtime_test.cpp +++ b/score/mw/log/detail/common/runtime_test.cpp @@ -13,7 +13,9 @@ #include "score/mw/log/runtime.h" #include "score/mw/log/detail/empty_recorder.h" +#ifdef KCONSOLE_LOGGING #include "score/mw/log/detail/text_recorder/text_recorder.h" +#endif #include "score/mw/log/recorder_config.h" #include "score/mw/log/recorder_mock.h" @@ -32,7 +34,11 @@ namespace detail namespace { -using ConsoleRecorderType = std::conditional_t; +#ifdef KCONSOLE_LOGGING +using ConsoleRecorderType = TextRecorder; +#else +using ConsoleRecorderType = EmptyRecorder; +#endif template bool IsRecorderOfType(const Recorder& recorder) noexcept diff --git a/score/mw/log/detail/data_router/BUILD b/score/mw/log/detail/data_router/BUILD index b00c3a93..4daf313e 100644 --- a/score/mw/log/detail/data_router/BUILD +++ b/score/mw/log/detail/data_router/BUILD @@ -107,7 +107,6 @@ cc_library( ], deps = [ ":data_router_backend", - "@score_baselibs//score/mw/log:recorder_interface", "@score_baselibs//score/mw/log/configuration", "@score_baselibs//score/mw/log/detail:log_recorder_factory", "@score_baselibs//score/os/utils:signal", @@ -143,6 +142,7 @@ cc_test( "@score_baselibs//score/language/futurecpp:futurecpp_test_support", "@score_baselibs//score/mw/log/configuration:target_config_reader_mock", "@score_baselibs//score/mw/log/detail:backend_mock", + "@score_baselibs//score/mw/log/detail/text_recorder", "@score_baselibs//score/os/mocklib:fcntl_mock", "@score_baselibs//score/os/mocklib:mman_mock", "@score_baselibs//score/os/mocklib:pthread_mock", diff --git a/score/mw/log/detail/data_router/remote_dlt_recorder_factory_test.cpp b/score/mw/log/detail/data_router/remote_dlt_recorder_factory_test.cpp index ba6ef395..1d1aee85 100644 --- a/score/mw/log/detail/data_router/remote_dlt_recorder_factory_test.cpp +++ b/score/mw/log/detail/data_router/remote_dlt_recorder_factory_test.cpp @@ -13,8 +13,10 @@ #include "score/mw/log/detail/data_router/data_router_recorder.h" -#include "score/mw/log/detail/common/composite_recorder.h" +#include "score/mw/log/backend_table.h" +#include "score/mw/log/detail/composite_recorder.h" #include "score/mw/log/detail/registry_aware_recorder_factory.h" +#include "score/mw/log/detail/text_recorder/text_recorder.h" #include "score/mw/log/configuration/target_config_reader_mock.h" @@ -84,7 +86,14 @@ TEST_F(RecorderFactoryConfigFixture, RemoteConfiguredShallReturnDataRouterRecord const Configuration config{}; auto recorder = RegistryAwareRecorderFactory{}.CreateRecorderFromLogMode(LogMode::kRemote, config, memory_resource_); - EXPECT_TRUE(IsRecorderOfType(recorder)); + if (IsBackendAvailable(LogMode::kRemote)) + { + EXPECT_TRUE(IsRecorderOfType(recorder)); + } + else + { + EXPECT_TRUE(IsRecorderOfType(recorder)); + } } TEST_F(RecorderFactoryConfigFixture, MultipleLogModesShallReturnCompositeRecorder) @@ -111,7 +120,18 @@ TEST_F(RecorderFactoryConfigFixture, MultipleLogModesShallReturnCompositeRecorde ASSERT_EQ(recorders.size(), modes.size()); auto composite = std::make_unique(std::move(recorders)); - EXPECT_TRUE(ContainsRecorderOfType(*composite)); + if (IsBackendAvailable(LogMode::kRemote)) + { + EXPECT_TRUE(ContainsRecorderOfType(*composite)); + } + else if (IsBackendAvailable(LogMode::kConsole) || IsBackendAvailable(LogMode::kFile)) + { + EXPECT_TRUE(ContainsRecorderOfType(*composite)); + } + else + { + EXPECT_TRUE(ContainsRecorderOfType(*composite)); + } } } // namespace diff --git a/score/mw/log/detail/file_recorder/BUILD b/score/mw/log/detail/file_recorder/BUILD index ed880c41..a822c060 100644 --- a/score/mw/log/detail/file_recorder/BUILD +++ b/score/mw/log/detail/file_recorder/BUILD @@ -83,8 +83,8 @@ cc_library( ], deps = [ ":file_recorder", - "@score_baselibs//score/mw/log:empty_recorder", "@score_baselibs//score/mw/log/configuration", + "@score_baselibs//score/mw/log/detail:empty_recorder", "@score_baselibs//score/mw/log/detail:initialization_reporter", "@score_baselibs//score/mw/log/detail:log_recorder_factory", ], From 2c2b8644f5d05e8adb3487949968e05d218ee912 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Tue, 31 Mar 2026 12:12:10 +0200 Subject: [PATCH 23/49] Removes redundant recorder_config.h GIT_ORIGIN_SPP_REV_ID: 58752d9f5d8e57052959caaf0556daae71b15f8d --- score/mw/log/backend/BUILD | 1 + score/mw/log/detail/common/BUILD | 51 --------------------- score/mw/log/detail/common/runtime_test.cpp | 1 - 3 files changed, 1 insertion(+), 52 deletions(-) diff --git a/score/mw/log/backend/BUILD b/score/mw/log/backend/BUILD index dba9a725..a23f778a 100644 --- a/score/mw/log/backend/BUILD +++ b/score/mw/log/backend/BUILD @@ -162,6 +162,7 @@ cc_unit_test_suites_for_host_and_qnx( cc_unit_tests = [ ":file_registrant_test", ":remote_registrant_test", + ":slog_registrant_test", ], visibility = [ "@score_baselibs//score/mw/log:__pkg__", diff --git a/score/mw/log/detail/common/BUILD b/score/mw/log/detail/common/BUILD index 55e69110..970f2667 100644 --- a/score/mw/log/detail/common/BUILD +++ b/score/mw/log/detail/common/BUILD @@ -32,56 +32,6 @@ COMPILER_WARNING_FEATURES = [ "strict_warnings", ] -cc_library( - name = "recorder_config", - hdrs = [ - "recorder_config.h", - ], - defines = select({ - "//score/mw/log/detail/flags:config_KConsole_Logging": ["KCONSOLE_LOGGING"], - "//conditions:default": [], - }) + select({ - "//score/mw/log/detail/flags:config_KFile_Logging": ["KFILE_LOGGING"], - "//conditions:default": [], - }) + select({ - "//score/mw/log/flags:Remote_Logging": ["KREMOTE_LOGGING"], - "//conditions:default": [], - }) + select({ - "//score/mw/log/flags:Custom_Logging": ["KCUSTOM_LOGGING"], - "//conditions:default": [], - }), - features = COMPILER_WARNING_FEATURES, - tags = ["FFI"], - deps = [ - "@score_baselibs//score/mw/log/detail:empty_recorder_factory", - ] + select({ - "@platforms//os:linux": [], - "@platforms//os:qnx": [ - "//score/mw/log/detail/slog", - ], - }) + select({ - "//score/mw/log/detail/flags:config_KConsole_Logging": [ - "@score_baselibs//score/mw/log/detail/text_recorder:console_recorder_factory", - ], - "//conditions:default": [], - }) + select({ - "//score/mw/log/detail/flags:config_KFile_Logging": [ - "//score/mw/log/detail/file_recorder:file_recorder_factory", - ], - "//conditions:default": [], - }) + select({ - "//score/mw/log/flags:Remote_Logging": [ - "//score/mw/log/detail/data_router:remote_dlt_recorder_factory", - ], - "//conditions:default": [], - }) + select({ - "//score/mw/log/flags:Custom_Logging": [ - "//score/mw/log/flags:custom_recorder_impl", - ], - "//conditions:default": [], - }), -) - cc_library( name = "log_entry_deserialize", srcs = ["log_entry_deserialize.h"], @@ -238,7 +188,6 @@ cc_test( deps = [ "@googletest//:gtest_main", "@score_baselibs//score/mw/log:console", - "@score_baselibs//score/mw/log:recorder_config", "@score_baselibs//score/mw/log:recorder_mock", ] + select({ "//score/mw/log/detail/flags:config_KConsole_Logging": [ diff --git a/score/mw/log/detail/common/runtime_test.cpp b/score/mw/log/detail/common/runtime_test.cpp index 4d7af33f..4b406110 100644 --- a/score/mw/log/detail/common/runtime_test.cpp +++ b/score/mw/log/detail/common/runtime_test.cpp @@ -16,7 +16,6 @@ #ifdef KCONSOLE_LOGGING #include "score/mw/log/detail/text_recorder/text_recorder.h" #endif -#include "score/mw/log/recorder_config.h" #include "score/mw/log/recorder_mock.h" #include "gtest/gtest.h" From 4a6ae7a7dc55d382a1f77b2433a85704305ced9a Mon Sep 17 00:00:00 2001 From: Jianjun Wen Date: Mon, 9 Mar 2026 13:37:56 +0100 Subject: [PATCH 24/49] Fix unused variable warning GIT_ORIGIN_SPP_REV_ID: ec45e99a5b8f577efd79d7d1fbd35ad1729af5e7 --- .../data_router/shared_memory/shared_memory_writer_test.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/score/mw/log/detail/data_router/shared_memory/shared_memory_writer_test.cpp b/score/mw/log/detail/data_router/shared_memory/shared_memory_writer_test.cpp index 01629835..0f786ebd 100644 --- a/score/mw/log/detail/data_router/shared_memory/shared_memory_writer_test.cpp +++ b/score/mw/log/detail/data_router/shared_memory/shared_memory_writer_test.cpp @@ -158,10 +158,10 @@ TEST_F(SharedMemoryWriterFixture, ShallHandleOverflowAndNotFail) RecordProperty("TestingTechnique", "Requirements-based test"); RecordProperty("DerivationTechnique", "Analysis of requirements"); - const auto first = shared_memory_writer.TryRegisterType(TypeInfoTest{}); + score::cpp::ignore = shared_memory_writer.TryRegisterType(TypeInfoTest{}); for (auto i = 0UL; i < kRingSize; i++) // much more then it is possible { - const auto result = shared_memory_writer.TryRegisterType(TypeInfoTest{}); + score::cpp::ignore = shared_memory_writer.TryRegisterType(TypeInfoTest{}); } const auto result = shared_memory_writer.TryRegisterType(TypeInfoTest{}); EXPECT_FALSE(result.has_value()); @@ -255,7 +255,7 @@ TEST_F(SharedMemoryWriterFixture, MultipleConcurentRegistrationShallBeValidInCou threads.at(counter) = std::thread([this]() noexcept { for (auto number = 0UL; number < kNumberOfActions; number++) { - const auto type_id = shared_memory_writer.TryRegisterType(TypeInfoTest{}); + score::cpp::ignore = shared_memory_writer.TryRegisterType(TypeInfoTest{}); } }); } From ec0f62e3736a5577eaf09c860db0ab955a62e8ab Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Wed, 1 Apr 2026 09:35:19 +0200 Subject: [PATCH 25/49] Logging daemon domain: Add IsOutputEnabled method GIT_ORIGIN_SPP_REV_ID: e64d1171a0ecce6ffc6bcefd0a1633c05e104ea6 --- .../include/daemon/dlt_log_server.h | 38 +++++++------------ score/datarouter/include/daemon/verbose_dlt.h | 1 + .../include/logparser/i_logparser.h | 6 --- .../datarouter/include/logparser/logparser.h | 13 +------ score/datarouter/mocks/logparser_mock.h | 6 --- .../datarouter/src/daemon/dlt_log_server.cpp | 11 ++++-- score/datarouter/src/daemon/socketserver.cpp | 3 +- score/datarouter/src/daemon/verbose_dlt.cpp | 4 ++ .../nonverbose_dlt_impl/nonverbose_dlt.cpp | 4 ++ .../dlt/nonverbose_dlt_impl/nonverbose_dlt.h | 1 + .../nonverbose_dlt_stub/stub_nonverbose_dlt.h | 1 + .../file_transfer_handler_factory_stub.h | 4 ++ .../file_transfer_stream_handler_stub.h | 1 + score/datarouter/src/logparser/logparser.cpp | 23 ++++++----- .../ut_logging/test_filetransfer_stream.cpp | 4 ++ .../test/ut/ut_logging/test_logparser.cpp | 34 ----------------- .../test/ut/ut_logging/test_nonverbosedlt.cpp | 4 ++ .../test/ut/ut_logging/test_verbose_dlt.cpp | 4 ++ 18 files changed, 66 insertions(+), 96 deletions(-) diff --git a/score/datarouter/include/daemon/dlt_log_server.h b/score/datarouter/include/daemon/dlt_log_server.h index a9d8057c..ad112629 100644 --- a/score/datarouter/include/daemon/dlt_log_server.h +++ b/score/datarouter/include/daemon/dlt_log_server.h @@ -105,30 +105,19 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut parser.AddGlobalHandler(*sysedr_handler_); parser.AddTypeHandler(kPersistentRequestTypeName, *sysedr_handler_); - if (dlt_output_enabled_) - { - // XXX only add handler for those which are accepted - parser.AddGlobalHandler(nvhandler_); - parser.AddTypeHandler(kLogEntryTypeName, vhandler_); - parser.AddTypeHandler(kFileTransferTypeName, fthandler_); - } + // Always register DLT handlers unconditionally; they check + // IsOutputEnabled() at dispatch time. This eliminates the cross-thread + // mutation of parser handler lists that caused SIGABRT (Ticket-254408). + parser.AddGlobalHandler(nvhandler_); + parser.AddTypeHandler(kLogEntryTypeName, vhandler_); + parser.AddTypeHandler(kFileTransferTypeName, fthandler_); } - void UpdateHandlers(ILogParser& parser, bool enabled) + void UpdateHandlers(ILogParser& /* parser */, bool /* enabled */) { - // protected by external mutex - if (enabled) - { - parser.AddGlobalHandler(nvhandler_); - parser.AddTypeHandler(kLogEntryTypeName, vhandler_); - parser.AddTypeHandler(kFileTransferTypeName, fthandler_); - } - else - { - parser.RemoveGlobalHandler(nvhandler_); - parser.RemoveTypeHandler(kLogEntryTypeName, vhandler_); - parser.RemoveTypeHandler(kFileTransferTypeName, fthandler_); - } + // No-op: handlers are registered unconditionally in AddHandlers() and check + // IsOutputEnabled() at dispatch time. This eliminates the cross-thread + // mutation of parser handler lists that caused SIGABRT (Ticket-254408). } // LCOV_EXCL_STOP @@ -139,8 +128,7 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut void UpdateHandlersFinal(bool enabled) { - // protected by external mutex - dlt_output_enabled_ = enabled; + dlt_output_enabled_.store(enabled, std::memory_order_release); } void Flush() @@ -295,7 +283,7 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut std::mutex config_mutex_; bool filtering_enabled_; - bool dlt_output_enabled_; + std::atomic dlt_output_enabled_; LoglevelT default_threshold_; std::unordered_map message_thresholds_; @@ -322,6 +310,8 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut std::unique_ptr sysedr_handler_; + bool IsOutputEnabled() const noexcept override final; + void SendNonVerbose(const score::mw::log::config::NvMsgDescriptor& desc, uint32_t tmsp, const void* data, diff --git a/score/datarouter/include/daemon/verbose_dlt.h b/score/datarouter/include/daemon/verbose_dlt.h index c0530356..cff3ee05 100644 --- a/score/datarouter/include/daemon/verbose_dlt.h +++ b/score/datarouter/include/daemon/verbose_dlt.h @@ -38,6 +38,7 @@ class DltVerboseHandler : public LogParser::TypeHandler virtual void SendVerbose( uint32_t tmsp, const score::mw::log::detail::log_entry_deserialization::LogEntryDeserializationReflection& entry) = 0; + virtual bool IsOutputEnabled() const noexcept = 0; protected: ~IOutput() = default; diff --git a/score/datarouter/include/logparser/i_logparser.h b/score/datarouter/include/logparser/i_logparser.h index 2df83998..4cdebd68 100644 --- a/score/datarouter/include/logparser/i_logparser.h +++ b/score/datarouter/include/logparser/i_logparser.h @@ -79,8 +79,6 @@ class ILogParser // (called on the request data provided by add_data_forwarder()) using FilterFunctionFactory = std::function; - virtual void SetFilterFactory(FilterFunctionFactory factory) = 0; - virtual void AddIncomingType(const BufsizeT map_index, const std::string& params) = 0; virtual void AddIncomingType(const score::mw::log::detail::TypeRegistration&) = 0; @@ -90,10 +88,6 @@ class ILogParser virtual void RemoveTypeHandler(const std::string& type_name, TypeHandler& handler) = 0; virtual void RemoveGlobalHandler(AnyHandler& handler) = 0; - virtual bool IsTypeHndlRegistered(const std::string& type_name, const TypeHandler& handler) = 0; - virtual bool IsGlbHndlRegistered(const AnyHandler& handler) = 0; - - virtual void ResetInternalMapping() = 0; virtual void Parse(TimestampT timestamp, const char* data, BufsizeT size) = 0; virtual void Parse(const score::mw::log::detail::SharedMemoryRecord& record) = 0; }; diff --git a/score/datarouter/include/logparser/logparser.h b/score/datarouter/include/logparser/logparser.h index 0a9802d0..b575eb01 100644 --- a/score/datarouter/include/logparser/logparser.h +++ b/score/datarouter/include/logparser/logparser.h @@ -45,11 +45,6 @@ class LogParser : public ILogParser explicit LogParser(const score::mw::log::INvConfig& nv_config); ~LogParser() = default; - void SetFilterFactory(FilterFunctionFactory factory) override - { - filter_factory_ = factory; - } - void AddIncomingType(const BufsizeT map_index, const std::string& params) override; void AddIncomingType(const score::mw::log::detail::TypeRegistration&) override; @@ -59,10 +54,8 @@ class LogParser : public ILogParser void RemoveTypeHandler(const std::string& type_name, TypeHandler& handler) override; void RemoveGlobalHandler(AnyHandler& handler) override; - bool IsTypeHndlRegistered(const std::string& type_name, const TypeHandler& handler) override; - bool IsGlbHndlRegistered(const AnyHandler& handler) override; - - void ResetInternalMapping() override; + bool IsTypeHndlRegistered(const std::string& type_name, const TypeHandler& handler); + bool IsGlbHndlRegistered(const AnyHandler& handler); void Parse(TimestampT timestamp, const char* data, BufsizeT size) override; void Parse(const score::mw::log::detail::SharedMemoryRecord& record) override; @@ -115,8 +108,6 @@ class LogParser : public ILogParser std::vector handlers_; }; - FilterFunctionFactory filter_factory_; - HandleRequestMap handle_request_map_; std::unordered_multimap typename_to_index_; diff --git a/score/datarouter/mocks/logparser_mock.h b/score/datarouter/mocks/logparser_mock.h index f6f725f3..7d498d08 100644 --- a/score/datarouter/mocks/logparser_mock.h +++ b/score/datarouter/mocks/logparser_mock.h @@ -34,8 +34,6 @@ class LogParserMock : public ILogParser public: ~LogParserMock() = default; - MOCK_METHOD(void, SetFilterFactory, (FilterFunctionFactory factory), (override)); - MOCK_METHOD(void, AddIncomingType, (const BufsizeT map_index, const std::string& params), (override)); MOCK_METHOD(void, AddIncomingType, (const score::mw::log::detail::TypeRegistration&), (override)); @@ -45,10 +43,6 @@ class LogParserMock : public ILogParser MOCK_METHOD(void, RemoveTypeHandler, (const std::string& type_name, TypeHandler& handler), (override)); MOCK_METHOD(void, RemoveGlobalHandler, (AnyHandler & handler), (override)); - MOCK_METHOD(bool, IsTypeHndlRegistered, (const std::string& type_name, const TypeHandler& handler), (override)); - MOCK_METHOD(bool, IsGlbHndlRegistered, (const AnyHandler& handler), (override)); - - MOCK_METHOD(void, ResetInternalMapping, (), (override)); MOCK_METHOD(void, Parse, (TimestampT timestamp, const char* data, BufsizeT size), (override)); MOCK_METHOD(void, Parse, (const score::mw::log::detail::SharedMemoryRecord& record), (override)); }; diff --git a/score/datarouter/src/daemon/dlt_log_server.cpp b/score/datarouter/src/daemon/dlt_log_server.cpp index 22e7102a..c6cc72c2 100644 --- a/score/datarouter/src/daemon/dlt_log_server.cpp +++ b/score/datarouter/src/daemon/dlt_log_server.cpp @@ -213,11 +213,11 @@ void DltLogServer::InitLogChannelsDefault(const bool reloading) void DltLogServer::SetOutputEnabled(const bool enabled) { - const bool update = (dlt_output_enabled_ != enabled); + const bool update = (dlt_output_enabled_.load(std::memory_order_acquire) != enabled); if (update) { - dlt_output_enabled_ = enabled; + dlt_output_enabled_.store(enabled, std::memory_order_release); if (enabled_callback_) { enabled_callback_(enabled); @@ -226,7 +226,12 @@ void DltLogServer::SetOutputEnabled(const bool enabled) } bool DltLogServer::GetDltEnabled() const noexcept { - return dlt_output_enabled_; + return dlt_output_enabled_.load(std::memory_order_acquire); +} + +bool DltLogServer::IsOutputEnabled() const noexcept +{ + return dlt_output_enabled_.load(std::memory_order_acquire); } void DltLogServer::SaveDatabase() diff --git a/score/datarouter/src/daemon/socketserver.cpp b/score/datarouter/src/daemon/socketserver.cpp index 2675c606..b6a9ea7d 100644 --- a/score/datarouter/src/daemon/socketserver.cpp +++ b/score/datarouter/src/daemon/socketserver.cpp @@ -16,7 +16,7 @@ #include "daemon/dlt_log_server.h" #include "daemon/message_passing_server.h" #include "daemon/socketserver_config.h" -#include "daemon/socketserver_filter_factory.h" + #include "score/datarouter/daemon_communication/session_handle_interface.h" #include "score/datarouter/datarouter/data_router.h" #include "score/datarouter/include/applications/datarouter_feature_config.h" @@ -167,7 +167,6 @@ DataRouter::SourceSetupCallback SocketServer::CreateSourceSetupHandler( */ // coverity[autosar_cpp14_a5_1_4_violation] return [&dlt_server](score::platform::internal::ILogParser&& parser) { - parser.SetFilterFactory(GetFilterFactory()); dlt_server.AddHandlers(parser); }; } diff --git a/score/datarouter/src/daemon/verbose_dlt.cpp b/score/datarouter/src/daemon/verbose_dlt.cpp index 53709f3a..24d727a7 100644 --- a/score/datarouter/src/daemon/verbose_dlt.cpp +++ b/score/datarouter/src/daemon/verbose_dlt.cpp @@ -25,6 +25,10 @@ namespace dltserver void DltVerboseHandler::Handle(TimestampT timestamp, const char* data, BufsizeT size) { + if (!output_.IsOutputEnabled()) + { + return; + } namespace dlt_server_logging = ::score::mw::log::detail::log_entry_deserialization; using DltDurationT = std::chrono::duration>; uint32_t duration = std::chrono::duration_cast(timestamp.time_since_epoch()).count(); diff --git a/score/datarouter/src/dlt/nonverbose_dlt_impl/nonverbose_dlt.cpp b/score/datarouter/src/dlt/nonverbose_dlt_impl/nonverbose_dlt.cpp index c69bd38e..a9c1843b 100644 --- a/score/datarouter/src/dlt/nonverbose_dlt_impl/nonverbose_dlt.cpp +++ b/score/datarouter/src/dlt/nonverbose_dlt_impl/nonverbose_dlt.cpp @@ -29,6 +29,10 @@ DltNonverboseHandler::DltNonverboseHandler(IOutput& output) void DltNonverboseHandler::Handle(const TypeInfo& type_info, TimestampT timestamp, const char* data, BufsizeT size) { + if (!output_.IsOutputEnabled()) + { + return; + } if (type_info.nv_msg_desc != nullptr) { using DltDurationT = std::chrono::duration>; diff --git a/score/datarouter/src/dlt/nonverbose_dlt_impl/nonverbose_dlt.h b/score/datarouter/src/dlt/nonverbose_dlt_impl/nonverbose_dlt.h index eaf9cdbd..1a04b005 100644 --- a/score/datarouter/src/dlt/nonverbose_dlt_impl/nonverbose_dlt.h +++ b/score/datarouter/src/dlt/nonverbose_dlt_impl/nonverbose_dlt.h @@ -37,6 +37,7 @@ class DltNonverboseHandler : public LogParser::AnyHandler uint32_t tmsp, const void* data, size_t size) = 0; + virtual bool IsOutputEnabled() const noexcept = 0; protected: ~IOutput() = default; diff --git a/score/datarouter/src/dlt/nonverbose_dlt_stub/stub_nonverbose_dlt.h b/score/datarouter/src/dlt/nonverbose_dlt_stub/stub_nonverbose_dlt.h index e4622dad..b9a94750 100644 --- a/score/datarouter/src/dlt/nonverbose_dlt_stub/stub_nonverbose_dlt.h +++ b/score/datarouter/src/dlt/nonverbose_dlt_stub/stub_nonverbose_dlt.h @@ -37,6 +37,7 @@ class StubDltNonverboseHandler : public LogParser::AnyHandler uint32_t tmsp, const void* data, size_t size) = 0; + virtual bool IsOutputEnabled() const noexcept = 0; protected: ~IOutput() = default; diff --git a/score/datarouter/src/file_transfer/file_transfer_stub/file_transfer_handler_factory_stub.h b/score/datarouter/src/file_transfer/file_transfer_stub/file_transfer_handler_factory_stub.h index 746f1496..1f2cb0b9 100644 --- a/score/datarouter/src/file_transfer/file_transfer_stub/file_transfer_handler_factory_stub.h +++ b/score/datarouter/src/file_transfer/file_transfer_stub/file_transfer_handler_factory_stub.h @@ -42,6 +42,10 @@ class Output : public StubFileTransferStreamHandler::IOutput uint8_t nor, uint32_t time_tmsp), (override)); + bool IsOutputEnabled() const noexcept override + { + return true; + } }; /** diff --git a/score/datarouter/src/file_transfer/file_transfer_stub/file_transfer_stream_handler_stub.h b/score/datarouter/src/file_transfer/file_transfer_stub/file_transfer_stream_handler_stub.h index 840b1b0d..ea091fd1 100644 --- a/score/datarouter/src/file_transfer/file_transfer_stub/file_transfer_stream_handler_stub.h +++ b/score/datarouter/src/file_transfer/file_transfer_stub/file_transfer_stream_handler_stub.h @@ -45,6 +45,7 @@ class StubFileTransferStreamHandler : public LogParser::TypeHandler DltidT ctxId, uint8_t nor, uint32_t time_tmsp) = 0; + virtual bool IsOutputEnabled() const noexcept = 0; protected: virtual ~IOutput() = default; diff --git a/score/datarouter/src/logparser/logparser.cpp b/score/datarouter/src/logparser/logparser.cpp index 923f950c..e629b424 100644 --- a/score/datarouter/src/logparser/logparser.cpp +++ b/score/datarouter/src/logparser/logparser.cpp @@ -61,7 +61,6 @@ namespace internal LogParser::LogParser(const score::mw::log::INvConfig& nv_config) : ILogParser(), - filter_factory_{}, handle_request_map_{}, typename_to_index_{}, index_parser_map_{}, @@ -110,7 +109,6 @@ void LogParser::AddIncomingType(const BufsizeT map_index, const std::string& par std::string type_name; LoggerUnpackString(params.substr(12U), type_name); - typename_to_index_.emplace(type_name, map_index); IndexParser index_parser{ TypeInfo{nv_config_.GetDltMsgDesc(type_name), map_index, params, type_name, ecu_id, app_id}}; const auto ith_range = handle_request_map_.equal_range(type_name); @@ -118,7 +116,10 @@ void LogParser::AddIncomingType(const BufsizeT map_index, const std::string& par { index_parser.AddHandler(*ith); } + // Insert into index_parser_map_ before typename_to_index_ to maintain the invariant: + // every index visible in typename_to_index_ must have a corresponding entry in index_parser_map_. index_parser_map_.emplace(map_index, std::move(index_parser)); + typename_to_index_.emplace(type_name, map_index); } void LogParser::AddIncomingType(const score::mw::log::detail::TypeRegistration& type_registration) @@ -155,7 +156,11 @@ void LogParser::AddTypeHandler(const std::string& type_name, TypeHandler& handle const auto iti_range = typename_to_index_.equal_range(type_name); for (auto iti = iti_range.first; iti != iti_range.second; ++iti) { - index_parser_map_.at(iti->second).AddHandler(*ith); + const auto it = index_parser_map_.find(iti->second); + if (it != index_parser_map_.end()) + { + it->second.AddHandler(*ith); + } } } @@ -171,7 +176,11 @@ void LogParser::RemoveTypeHandler(const std::string& type_name, TypeHandler& han const auto iti_range = typename_to_index_.equal_range(type_name); for (auto iti = iti_range.first; iti != iti_range.second; ++iti) { - index_parser_map_.at(iti->second).RemoveHandler(*ith); + const auto it = index_parser_map_.find(iti->second); + if (it != index_parser_map_.end()) + { + it->second.RemoveHandler(*ith); + } } handle_request_map_.erase(ith); } @@ -203,12 +212,6 @@ bool LogParser::IsGlbHndlRegistered(const AnyHandler& handler) return retval; } -void LogParser::ResetInternalMapping() -{ - typename_to_index_.clear(); - index_parser_map_.clear(); -} - void LogParser::Parse(TimestampT timestamp, const char* data, BufsizeT size) { // TODO: move index storage and handling to MwsrHeader diff --git a/score/datarouter/test/ut/ut_logging/test_filetransfer_stream.cpp b/score/datarouter/test/ut/ut_logging/test_filetransfer_stream.cpp index 8e334a63..9f8eb45a 100644 --- a/score/datarouter/test/ut/ut_logging/test_filetransfer_stream.cpp +++ b/score/datarouter/test/ut/ut_logging/test_filetransfer_stream.cpp @@ -39,6 +39,10 @@ class MockFTOutput : public FileTransferStreamHandler::IOutput uint8_t nor, uint32_t time_tmsp), (override)); + bool IsOutputEnabled() const noexcept override + { + return true; + } virtual ~MockFTOutput() = default; }; diff --git a/score/datarouter/test/ut/ut_logging/test_logparser.cpp b/score/datarouter/test/ut/ut_logging/test_logparser.cpp index 27497641..255757bd 100644 --- a/score/datarouter/test/ut/ut_logging/test_logparser.cpp +++ b/score/datarouter/test/ut/ut_logging/test_logparser.cpp @@ -118,29 +118,6 @@ TEST(LogParserTest, FilterForwarderWithSingleForwarder) const std::string type_params = MakeTypeParams(DltidT{"ECU4"}, DltidT{"APP0"}); LogParser parser(CreateTestNvConfig()); - const auto factory = [](const std::string& type_name, const DataFilter& filter) -> LogParser::FilterFunction { - if (type_name == "test::TestMessage" && filter.filter_type == "test::TestFilter") - { - TestFilter test_filter; - using S = ::score::common::visitor::logging_serializer; - if (S::deserialize(filter.filter_data.data(), filter.filter_data.size(), test_filter)) - { - return [test_filter](const char* const data, const BufsizeT size) { - TestMessage message; - if (S::deserialize(data, size, message)) - { - return test_filter.test_field == message.test_field; - } - else - { - return false; - } - }; - } - } - return {}; - }; - parser.SetFilterFactory(factory); constexpr BufsizeT kTestMessageIndex = 1234; parser.AddIncomingType(kTestMessageIndex, type_params); @@ -257,15 +234,6 @@ TEST(LogParserTest, TestRegisteringNewTypeHandler) EXPECT_TRUE(parser.IsTypeHndlRegistered("test::TestMessage", type_handler_yes)); } -// The purpose of this test is to enhance the line coverage for 'reset_internal_mapping' method. -TEST(LogParserTest, TestResetInternalMapping) -{ - LogParser parser(CreateTestNvConfig()); - // Unfortunately, there other way to set expectation for calling this method. - // And there is no other methods are using it internally. - EXPECT_NO_FATAL_FAILURE(parser.ResetInternalMapping()); -} - struct SmallTestMessage { uint8_t test_field; @@ -284,8 +252,6 @@ TEST(LogParserTest, WeCanNotParseIfTheSizeOfTheSerializedMessageSmallerThanTheEx // Unfortunately, there other way to set expectation for calling this method. // And there is no other methods are using it internally. EXPECT_NO_FATAL_FAILURE(parser.Parse(time_now, message.data(), static_cast(message.size()))); - EXPECT_NO_FATAL_FAILURE(parser.ResetInternalMapping()); - EXPECT_NO_FATAL_FAILURE(parser.Parse(time_now, message.data(), static_cast(message.size()))); } // The purpose of this test is to enhance the line coverage for 'parse' with covering the below condition. diff --git a/score/datarouter/test/ut/ut_logging/test_nonverbosedlt.cpp b/score/datarouter/test/ut/ut_logging/test_nonverbosedlt.cpp index 2596888e..1da0e912 100644 --- a/score/datarouter/test/ut/ut_logging/test_nonverbosedlt.cpp +++ b/score/datarouter/test/ut/ut_logging/test_nonverbosedlt.cpp @@ -46,6 +46,10 @@ class MockDltOutput : public DltNonverboseHandler::IOutput SendNonVerbose, (const score::mw::log::config::NvMsgDescriptor& desc, uint32_t tmsp, const void* data, size_t size), (override)); + bool IsOutputEnabled() const noexcept override + { + return true; + } virtual ~MockDltOutput() = default; }; diff --git a/score/datarouter/test/ut/ut_logging/test_verbose_dlt.cpp b/score/datarouter/test/ut/ut_logging/test_verbose_dlt.cpp index 054dfef1..92f61fae 100644 --- a/score/datarouter/test/ut/ut_logging/test_verbose_dlt.cpp +++ b/score/datarouter/test/ut/ut_logging/test_verbose_dlt.cpp @@ -26,6 +26,10 @@ class MockDltVerboseHandlerOutput : public DltVerboseHandler::IOutput SendVerbose, (uint32_t, const score::mw::log::detail::log_entry_deserialization::LogEntryDeserializationReflection&), (override)); + bool IsOutputEnabled() const noexcept override + { + return true; + } virtual ~MockDltVerboseHandlerOutput() = default; }; From 8e85fce2e5fdae95b01ee30ae2b7f193dcd7dd08 Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Wed, 1 Apr 2026 11:17:13 +0200 Subject: [PATCH 26/49] LogParser: Remove handler erase capability GIT_ORIGIN_SPP_REV_ID: c6a518b8b4ad33c581705c595f34e6bef00ca787 --- .../include/logparser/i_logparser.h | 3 -- .../datarouter/include/logparser/logparser.h | 4 -- score/datarouter/mocks/logparser_mock.h | 3 -- score/datarouter/src/logparser/logparser.cpp | 43 ----------------- .../test/ut/ut_logging/test_logparser.cpp | 48 ------------------- 5 files changed, 101 deletions(-) diff --git a/score/datarouter/include/logparser/i_logparser.h b/score/datarouter/include/logparser/i_logparser.h index 4cdebd68..c76585c1 100644 --- a/score/datarouter/include/logparser/i_logparser.h +++ b/score/datarouter/include/logparser/i_logparser.h @@ -85,9 +85,6 @@ class ILogParser virtual void AddTypeHandler(const std::string& type_name, TypeHandler& handler) = 0; virtual void AddGlobalHandler(AnyHandler& handler) = 0; - virtual void RemoveTypeHandler(const std::string& type_name, TypeHandler& handler) = 0; - virtual void RemoveGlobalHandler(AnyHandler& handler) = 0; - virtual void Parse(TimestampT timestamp, const char* data, BufsizeT size) = 0; virtual void Parse(const score::mw::log::detail::SharedMemoryRecord& record) = 0; }; diff --git a/score/datarouter/include/logparser/logparser.h b/score/datarouter/include/logparser/logparser.h index b575eb01..60f57e0b 100644 --- a/score/datarouter/include/logparser/logparser.h +++ b/score/datarouter/include/logparser/logparser.h @@ -51,9 +51,6 @@ class LogParser : public ILogParser void AddTypeHandler(const std::string& type_name, TypeHandler& handler) override; void AddGlobalHandler(AnyHandler& handler) override; - void RemoveTypeHandler(const std::string& type_name, TypeHandler& handler) override; - void RemoveGlobalHandler(AnyHandler& handler) override; - bool IsTypeHndlRegistered(const std::string& type_name, const TypeHandler& handler); bool IsGlbHndlRegistered(const AnyHandler& handler); @@ -85,7 +82,6 @@ class LogParser : public ILogParser explicit IndexParser(TypeInfo type_info) : info{type_info}, handlers_{} {} void AddHandler(const HandleRequestMap::value_type& request); - void RemoveHandler(const HandleRequestMap::value_type& request); void Parse(const TimestampT timestamp, const char* const data, const BufsizeT size); diff --git a/score/datarouter/mocks/logparser_mock.h b/score/datarouter/mocks/logparser_mock.h index 7d498d08..ce4ebd76 100644 --- a/score/datarouter/mocks/logparser_mock.h +++ b/score/datarouter/mocks/logparser_mock.h @@ -40,9 +40,6 @@ class LogParserMock : public ILogParser MOCK_METHOD(void, AddTypeHandler, (const std::string& type_name, TypeHandler& handler), (override)); MOCK_METHOD(void, AddGlobalHandler, (AnyHandler & handler), (override)); - MOCK_METHOD(void, RemoveTypeHandler, (const std::string& type_name, TypeHandler& handler), (override)); - MOCK_METHOD(void, RemoveGlobalHandler, (AnyHandler & handler), (override)); - MOCK_METHOD(void, Parse, (TimestampT timestamp, const char* data, BufsizeT size), (override)); MOCK_METHOD(void, Parse, (const score::mw::log::detail::SharedMemoryRecord& record), (override)); }; diff --git a/score/datarouter/src/logparser/logparser.cpp b/score/datarouter/src/logparser/logparser.cpp index e629b424..0f331f5d 100644 --- a/score/datarouter/src/logparser/logparser.cpp +++ b/score/datarouter/src/logparser/logparser.cpp @@ -74,18 +74,6 @@ void LogParser::IndexParser::AddHandler(const LogParser::HandleRequestMap::value handlers_.push_back(Handler{&request, request.second.handler}); } -void LogParser::IndexParser::RemoveHandler(const LogParser::HandleRequestMap::value_type& request) -{ - const auto finder = [&request](const auto& v) { - return v.request == &request; - }; - const auto it = std::find_if(handlers_.begin(), handlers_.end(), finder); - if (it != handlers_.end()) - { - handlers_.erase(it); - } -} - void LogParser::IndexParser::Parse(const TimestampT timestamp, const char* const data, const BufsizeT size) { for (const auto& handler : handlers_) @@ -137,15 +125,6 @@ void LogParser::AddGlobalHandler(AnyHandler& handler) } } -void LogParser::RemoveGlobalHandler(AnyHandler& handler) -{ - const auto it = std::find(global_handlers_.begin(), global_handlers_.end(), &handler); - if (it != global_handlers_.end()) - { - global_handlers_.erase(it); - } -} - void LogParser::AddTypeHandler(const std::string& type_name, TypeHandler& handler) { if (IsTypeHndlRegistered(type_name, handler)) @@ -164,28 +143,6 @@ void LogParser::AddTypeHandler(const std::string& type_name, TypeHandler& handle } } -void LogParser::RemoveTypeHandler(const std::string& type_name, TypeHandler& handler) -{ - const auto ith_range = handle_request_map_.equal_range(type_name); - const auto finder = [&handler](const auto& v) { - return v.second.handler == &handler; - }; - const auto ith = std::find_if(ith_range.first, ith_range.second, finder); - if (ith != ith_range.second) - { - const auto iti_range = typename_to_index_.equal_range(type_name); - for (auto iti = iti_range.first; iti != iti_range.second; ++iti) - { - const auto it = index_parser_map_.find(iti->second); - if (it != index_parser_map_.end()) - { - it->second.RemoveHandler(*ith); - } - } - handle_request_map_.erase(ith); - } -} - bool LogParser::IsTypeHndlRegistered(const std::string& type_name, const TypeHandler& handler) { bool retval = false; diff --git a/score/datarouter/test/ut/ut_logging/test_logparser.cpp b/score/datarouter/test/ut/ut_logging/test_logparser.cpp index 255757bd..40623146 100644 --- a/score/datarouter/test/ut/ut_logging/test_logparser.cpp +++ b/score/datarouter/test/ut/ut_logging/test_logparser.cpp @@ -130,33 +130,6 @@ TEST(LogParserTest, FilterForwarderWithSingleForwarder) parser.Parse(TimestampT{3s}, message3.data(), static_cast(message3.size())); } -// Test the else case in the below condition in 'remove_type_handler' and 'remove_handler' methods. -// The conditions are: -// if (ith != ith_range.second) -// if (it != handlers_.end()) -TEST(LogParserTest, TestRemoveTypeHandler) -{ - LogParser parser(CreateTestNvConfig()); - testing::StrictMock type_handler_yes; - parser.AddTypeHandler("test::TestMessage", type_handler_yes); - parser.AddTypeHandler("test::TestMessage", type_handler_yes); - - testing::StrictMock type_handler_no; - EXPECT_CALL(type_handler_no, Handle(_, _, _)).Times(0); - - parser.AddTypeHandler("test::notTestMessage", type_handler_no); - - const std::string type_params = MakeTypeParams(DltidT{"ECU0"}, DltidT{"APP0"}); - constexpr BufsizeT kTestMessageIndex = 1234; - - // Add the type twice. - parser.AddIncomingType(kTestMessageIndex, type_params); - parser.AddIncomingType(kTestMessageIndex, type_params); - parser.RemoveTypeHandler("test::TestMessage", type_handler_yes); - // Remove non existent type handler. - parser.RemoveTypeHandler("test::TestMessage", type_handler_yes); -} - // Test the True case for the below condition for 'add_incoming_type' method. // The condition is: // if (params.size() <= 12 + sizeof(uint32_t) || params[0] != 0 || params[1] != 0 || params[2] != 0 || params[3] != 0) @@ -184,27 +157,6 @@ TEST(LogParserTest, TestRegisterGlobalHandler) parser.AddGlobalHandler(any_handler); } -// The purpose of the test is to cover the else case for the below condition for 'remove_global_handler' method. -// The condition is: -// if (it != global_handlers.end()) -TEST(LogParserTest, TestRemovingGlobalHandler) -{ - LogParser parser(CreateTestNvConfig()); - testing::StrictMock any_handler; - // Check non-registered handler. - EXPECT_FALSE(parser.IsGlbHndlRegistered(any_handler)); - // Register new handler. - parser.AddGlobalHandler(any_handler); - // Check registered handler. - EXPECT_TRUE(parser.IsGlbHndlRegistered(any_handler)); - // Remove the handler. - parser.RemoveGlobalHandler(any_handler); - // Handler no more exist. - EXPECT_FALSE(parser.IsGlbHndlRegistered(any_handler)); - // Try remove non registered handler (To reach the else case in the condition there). - parser.RemoveGlobalHandler(any_handler); -} - // Test the if condition in the 'add_type_handler' method. // The condition is: // if (is_type_hndl_registered(typeName, handler)) From 6e1d784675f7558eea8e16e36dbb22c69ab02e42 Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Wed, 1 Apr 2026 15:34:30 +0200 Subject: [PATCH 27/49] LogParser: Pass handlers in constructor GIT_ORIGIN_SPP_REV_ID: 2f98713a47ce9391add94cc4a8e53468da2598ee --- score/datarouter/datarouter/data_router.cpp | 43 +++++++++++-------- score/datarouter/datarouter/data_router.h | 7 +-- .../include/daemon/dlt_log_server.h | 19 ++++---- .../datarouter/include/daemon/socketserver.h | 2 +- .../include/logparser/i_logparser.h | 11 +++-- .../datarouter/include/logparser/logparser.h | 9 ++-- score/datarouter/mocks/logparser_mock.h | 5 +-- score/datarouter/src/daemon/socketserver.cpp | 9 ++-- score/datarouter/src/logparser/logparser.cpp | 38 ++++------------ .../test/ut/ut_logging/test_logparser.cpp | 33 +++++--------- .../test/ut/ut_logging/test_socketserver.cpp | 14 +++--- 11 files changed, 82 insertions(+), 108 deletions(-) diff --git a/score/datarouter/datarouter/data_router.cpp b/score/datarouter/datarouter/data_router.cpp index 4145ffd9..f3e82e02 100644 --- a/score/datarouter/datarouter/data_router.cpp +++ b/score/datarouter/datarouter/data_router.cpp @@ -74,8 +74,8 @@ std::string QuotaValueAsString(double quota) noexcept return ss.str(); } -DataRouter::DataRouter(score::mw::log::Logger& logger, SourceSetupCallback source_callback) - : stats_logger_(logger), source_callback_(source_callback) +DataRouter::DataRouter(score::mw::log::Logger& logger, HandlerProvider handler_provider) + : stats_logger_(logger), handler_provider_(std::move(handler_provider)) { } @@ -122,16 +122,27 @@ std::unique_ptr DataRouter::NewSourceSessionImpl( std::unique_ptr reader, const score::mw::log::NvConfig& nv_config) { - auto source_session = - std::make_unique(*this, - std::move(reader), - name, - is_dlt_enabled, - std::move(handle), - quota, - quota_enforcement_enabled, - stats_logger_, - std::make_unique(nv_config)); + // Obtain handler lists from the provider before constructing the parser. + // This ensures all handlers are injected at construction time, making LogParser + // intrinsically thread-safe (no post-construction mutation of handler maps). + std::vector global_handlers; + std::vector type_handlers; + if (handler_provider_) + { + handler_provider_(global_handlers, type_handlers); + } + + auto source_session = std::make_unique( + *this, + std::move(reader), + name, + is_dlt_enabled, + std::move(handle), + quota, + quota_enforcement_enabled, + stats_logger_, + std::make_unique( + nv_config, std::move(global_handlers), std::move(type_handlers))); if (!source_session) { @@ -145,10 +156,6 @@ std::unique_ptr DataRouter::NewSourceSessionImpl( // from new_source_session_impl() which acquires the lock before construction. std::ignore = sources_.insert(source_session.get()); - if (source_callback_) - { - source_callback_(std::move(source_session->GetParser())); - } // persistent subscribers return source_session; } @@ -237,7 +244,7 @@ void DataRouter::SourceSession::ProcessAndRouteLogMessages(uint64_t& message_cou } auto record_received_timestamp = score::mw::log::detail::TimePoint::clock::now(); - parser_->Parse(record); + parser_->ParseSharedMemoryRecord(record); ++message_count_local; transport_delay_local = std::max(transport_delay_local, @@ -307,7 +314,7 @@ void DataRouter::SourceSession::ProcessDetachedLogs(uint64_t& number_of_bytes_in parser_->AddIncomingType(registration); }, [this](const auto& record) noexcept { - parser_->Parse(record); + parser_->ParseSharedMemoryRecord(record); }); if (number_of_bytes_in_buffer_result_detached.has_value()) diff --git a/score/datarouter/datarouter/data_router.h b/score/datarouter/datarouter/data_router.h index 4ebd1611..5c1232fc 100644 --- a/score/datarouter/datarouter/data_router.h +++ b/score/datarouter/datarouter/data_router.h @@ -87,14 +87,15 @@ struct StatsData class DataRouter { public: - using SourceSetupCallback = std::function; + using HandlerProvider = + std::function&, std::vector&)>; using SessionPtr = std::unique_ptr; using MessagingSessionPtr = std::unique_ptr; using SessionHandleVariant = score::cpp::variant>; - explicit DataRouter(score::mw::log::Logger& logger, SourceSetupCallback source_callback = SourceSetupCallback()); + explicit DataRouter(score::mw::log::Logger& logger, HandlerProvider handler_provider = HandlerProvider()); MessagingSessionPtr NewSourceSession( int fd, @@ -217,7 +218,7 @@ class DataRouter score::mw::log::Logger& stats_logger_; std::unordered_set sources_; - SourceSetupCallback source_callback_; + HandlerProvider handler_provider_; std::mutex subscriber_mutex_; }; diff --git a/score/datarouter/include/daemon/dlt_log_server.h b/score/datarouter/include/daemon/dlt_log_server.h index ad112629..a0fb467b 100644 --- a/score/datarouter/include/daemon/dlt_log_server.h +++ b/score/datarouter/include/daemon/dlt_log_server.h @@ -100,22 +100,21 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut virtual ~DltLogServer() = default; // Not possible to mock LogParser currently. // LCOV_EXCL_START - void AddHandlers(ILogParser& parser) + std::vector GetGlobalHandlers() { - parser.AddGlobalHandler(*sysedr_handler_); - parser.AddTypeHandler(kPersistentRequestTypeName, *sysedr_handler_); + return {sysedr_handler_.get(), &nvhandler_}; + } - // Always register DLT handlers unconditionally; they check - // IsOutputEnabled() at dispatch time. This eliminates the cross-thread - // mutation of parser handler lists that caused SIGABRT (Ticket-254408). - parser.AddGlobalHandler(nvhandler_); - parser.AddTypeHandler(kLogEntryTypeName, vhandler_); - parser.AddTypeHandler(kFileTransferTypeName, fthandler_); + std::vector GetTypeHandlerBindings() + { + return {{kPersistentRequestTypeName, sysedr_handler_.get()}, + {kLogEntryTypeName, &vhandler_}, + {kFileTransferTypeName, &fthandler_}}; } void UpdateHandlers(ILogParser& /* parser */, bool /* enabled */) { - // No-op: handlers are registered unconditionally in AddHandlers() and check + // No-op: handlers are registered unconditionally at LogParser construction and check // IsOutputEnabled() at dispatch time. This eliminates the cross-thread // mutation of parser handler lists that caused SIGABRT (Ticket-254408). } diff --git a/score/datarouter/include/daemon/socketserver.h b/score/datarouter/include/daemon/socketserver.h index 8b75df06..15297cd8 100644 --- a/score/datarouter/include/daemon/socketserver.h +++ b/score/datarouter/include/daemon/socketserver.h @@ -90,7 +90,7 @@ class SocketServer static std::unique_ptr CreateDltServer( const PersistentStorageHandlers& storage_handlers); - static DataRouter::SourceSetupCallback CreateSourceSetupHandler(score::logging::dltserver::DltLogServer& dlt_server); + static DataRouter::HandlerProvider CreateSourceSetupHandler(score::logging::dltserver::DltLogServer& dlt_server); // Static helper functions for testing lambda bodies static void UpdateParserHandlers(score::logging::dltserver::DltLogServer& dlt_server, diff --git a/score/datarouter/include/logparser/i_logparser.h b/score/datarouter/include/logparser/i_logparser.h index c76585c1..116f1405 100644 --- a/score/datarouter/include/logparser/i_logparser.h +++ b/score/datarouter/include/logparser/i_logparser.h @@ -68,6 +68,12 @@ class ILogParser virtual ~AnyHandler() = default; }; + struct TypeHandlerBinding + { + std::string type_name; + TypeHandler* handler; + }; + virtual ~ILogParser() = default; // a function object to return whether the message parameter passes some encapsulted filter @@ -82,11 +88,8 @@ class ILogParser virtual void AddIncomingType(const BufsizeT map_index, const std::string& params) = 0; virtual void AddIncomingType(const score::mw::log::detail::TypeRegistration&) = 0; - virtual void AddTypeHandler(const std::string& type_name, TypeHandler& handler) = 0; - virtual void AddGlobalHandler(AnyHandler& handler) = 0; - virtual void Parse(TimestampT timestamp, const char* data, BufsizeT size) = 0; - virtual void Parse(const score::mw::log::detail::SharedMemoryRecord& record) = 0; + virtual void ParseSharedMemoryRecord(const score::mw::log::detail::SharedMemoryRecord& record) = 0; }; } // namespace internal diff --git a/score/datarouter/include/logparser/logparser.h b/score/datarouter/include/logparser/logparser.h index 60f57e0b..92a0bc4b 100644 --- a/score/datarouter/include/logparser/logparser.h +++ b/score/datarouter/include/logparser/logparser.h @@ -42,20 +42,19 @@ namespace internal class LogParser : public ILogParser { public: - explicit LogParser(const score::mw::log::INvConfig& nv_config); + explicit LogParser(const score::mw::log::INvConfig& nv_config, + std::vector global_handlers = {}, + std::vector type_handlers = {}); ~LogParser() = default; void AddIncomingType(const BufsizeT map_index, const std::string& params) override; void AddIncomingType(const score::mw::log::detail::TypeRegistration&) override; - void AddTypeHandler(const std::string& type_name, TypeHandler& handler) override; - void AddGlobalHandler(AnyHandler& handler) override; - bool IsTypeHndlRegistered(const std::string& type_name, const TypeHandler& handler); bool IsGlbHndlRegistered(const AnyHandler& handler); void Parse(TimestampT timestamp, const char* data, BufsizeT size) override; - void Parse(const score::mw::log::detail::SharedMemoryRecord& record) override; + void ParseSharedMemoryRecord(const score::mw::log::detail::SharedMemoryRecord& record) override; private: struct HandleRequest diff --git a/score/datarouter/mocks/logparser_mock.h b/score/datarouter/mocks/logparser_mock.h index ce4ebd76..f43173ec 100644 --- a/score/datarouter/mocks/logparser_mock.h +++ b/score/datarouter/mocks/logparser_mock.h @@ -37,11 +37,8 @@ class LogParserMock : public ILogParser MOCK_METHOD(void, AddIncomingType, (const BufsizeT map_index, const std::string& params), (override)); MOCK_METHOD(void, AddIncomingType, (const score::mw::log::detail::TypeRegistration&), (override)); - MOCK_METHOD(void, AddTypeHandler, (const std::string& type_name, TypeHandler& handler), (override)); - MOCK_METHOD(void, AddGlobalHandler, (AnyHandler & handler), (override)); - MOCK_METHOD(void, Parse, (TimestampT timestamp, const char* data, BufsizeT size), (override)); - MOCK_METHOD(void, Parse, (const score::mw::log::detail::SharedMemoryRecord& record), (override)); + MOCK_METHOD(void, ParseSharedMemoryRecord, (const score::mw::log::detail::SharedMemoryRecord& record), (override)); }; } // namespace internal diff --git a/score/datarouter/src/daemon/socketserver.cpp b/score/datarouter/src/daemon/socketserver.cpp index b6a9ea7d..491153e3 100644 --- a/score/datarouter/src/daemon/socketserver.cpp +++ b/score/datarouter/src/daemon/socketserver.cpp @@ -156,8 +156,7 @@ std::unique_ptr SocketServer::CreateDlt static_config.value(), storage_handlers.load_dlt, storage_handlers.store_dlt, storage_handlers.is_dlt_enabled); } -DataRouter::SourceSetupCallback SocketServer::CreateSourceSetupHandler( - score::logging::dltserver::DltLogServer& dlt_server) +DataRouter::HandlerProvider SocketServer::CreateSourceSetupHandler(score::logging::dltserver::DltLogServer& dlt_server) { /* Deviation from Rule A5-1-4: @@ -166,8 +165,10 @@ DataRouter::SourceSetupCallback SocketServer::CreateSourceSetupHandler( - dltServer and lambda are in the same scope. */ // coverity[autosar_cpp14_a5_1_4_violation] - return [&dlt_server](score::platform::internal::ILogParser&& parser) { - dlt_server.AddHandlers(parser); + return [&dlt_server](std::vector& global_handlers, + std::vector& type_handlers) { + global_handlers = dlt_server.GetGlobalHandlers(); + type_handlers = dlt_server.GetTypeHandlerBindings(); }; } diff --git a/score/datarouter/src/logparser/logparser.cpp b/score/datarouter/src/logparser/logparser.cpp index 0f331f5d..f82b32e0 100644 --- a/score/datarouter/src/logparser/logparser.cpp +++ b/score/datarouter/src/logparser/logparser.cpp @@ -59,14 +59,20 @@ namespace platform namespace internal { -LogParser::LogParser(const score::mw::log::INvConfig& nv_config) +LogParser::LogParser(const score::mw::log::INvConfig& nv_config, + std::vector global_handlers, + std::vector type_handlers) : ILogParser(), handle_request_map_{}, typename_to_index_{}, index_parser_map_{}, - global_handlers_{}, + global_handlers_{std::move(global_handlers)}, nv_config_(nv_config) { + for (auto& binding : type_handlers) + { + handle_request_map_.emplace(std::move(binding.type_name), HandleRequest{binding.handler}); + } } void LogParser::IndexParser::AddHandler(const LogParser::HandleRequestMap::value_type& request) @@ -117,32 +123,6 @@ void LogParser::AddIncomingType(const score::mw::log::detail::TypeRegistration& this->AddIncomingType(type_registration.type_id, params); } -void LogParser::AddGlobalHandler(AnyHandler& handler) -{ - if (IsGlbHndlRegistered(handler) == false) - { - global_handlers_.push_back(&handler); - } -} - -void LogParser::AddTypeHandler(const std::string& type_name, TypeHandler& handler) -{ - if (IsTypeHndlRegistered(type_name, handler)) - { - return; - } - const auto ith = handle_request_map_.emplace(type_name, HandleRequest{&handler}); - const auto iti_range = typename_to_index_.equal_range(type_name); - for (auto iti = iti_range.first; iti != iti_range.second; ++iti) - { - const auto it = index_parser_map_.find(iti->second); - if (it != index_parser_map_.end()) - { - it->second.AddHandler(*ith); - } - } -} - bool LogParser::IsTypeHndlRegistered(const std::string& type_name, const TypeHandler& handler) { bool retval = false; @@ -207,7 +187,7 @@ void LogParser::Parse(TimestampT timestamp, const char* data, BufsizeT size) } } -void LogParser::Parse(const score::mw::log::detail::SharedMemoryRecord& record) +void LogParser::ParseSharedMemoryRecord(const score::mw::log::detail::SharedMemoryRecord& record) { const auto index_parser_entry = index_parser_map_.find(record.header.type_identifier); if (index_parser_entry == index_parser_map_.end()) diff --git a/score/datarouter/test/ut/ut_logging/test_logparser.cpp b/score/datarouter/test/ut/ut_logging/test_logparser.cpp index 40623146..41b7a2d5 100644 --- a/score/datarouter/test/ut/ut_logging/test_logparser.cpp +++ b/score/datarouter/test/ut/ut_logging/test_logparser.cpp @@ -102,10 +102,9 @@ TEST(LogParserTest, SingleMessageHandler) const std::string type_params = MakeTypeParams(DltidT{"ECU0"}, DltidT{"APP0"}); constexpr BufsizeT kTestMessageIndex = 1234; const std::string message = MakeMessage(kTestMessageIndex, TestMessage{2345}); - LogParser parser(CreateTestNvConfig()); - parser.AddGlobalHandler(any_handler); - parser.AddTypeHandler("test::TestMessage", type_handler_yes); - parser.AddTypeHandler("test::notTestMessage", type_handler_no); + LogParser parser(CreateTestNvConfig(), + {&any_handler}, + {{"test::TestMessage", &type_handler_yes}, {"test::notTestMessage", &type_handler_no}}); parser.AddIncomingType(kTestMessageIndex, type_params); @@ -142,46 +141,34 @@ TEST(LogParserTest, TestWrongTypeParameter) parser.AddIncomingType(kTestMessageIndex, type_params); } -// The purpose of the test is to cover the else case for the below condition for 'add_global_handler' method. -// The condition is: -// if (is_glb_hndl_registered(handler) == false) +// Test that global handlers passed to constructor are registered. TEST(LogParserTest, TestRegisterGlobalHandler) { - LogParser parser(CreateTestNvConfig()); testing::StrictMock any_handler; - // Register the same global handler twice. - EXPECT_FALSE(parser.IsGlbHndlRegistered(any_handler)); - parser.AddGlobalHandler(any_handler); + LogParser parser(CreateTestNvConfig(), {&any_handler}); EXPECT_TRUE(parser.IsGlbHndlRegistered(any_handler)); - // To reach the else case in the condition there. - parser.AddGlobalHandler(any_handler); } -// Test the if condition in the 'add_type_handler' method. -// The condition is: -// if (is_type_hndl_registered(typeName, handler)) +// Test that type handlers passed to constructor are registered. TEST(LogParserTest, TestAlreadyRegisteredTypeHandler) { testing::StrictMock type_handler_yes; - LogParser parser(CreateTestNvConfig()); - parser.AddTypeHandler("test::TestMessage", type_handler_yes); - parser.AddTypeHandler("test::TestMessage", type_handler_yes); + LogParser parser(CreateTestNvConfig(), {}, {{"test::TestMessage", &type_handler_yes}}); EXPECT_TRUE(parser.IsTypeHndlRegistered("test::TestMessage", type_handler_yes)); } TEST(LogParserTest, TestRegisteringNewTypeHandler) { - LogParser parser(CreateTestNvConfig()); testing::StrictMock type_handler_yes; + LogParser parser(CreateTestNvConfig(), {}, {{"test::TestMessage", &type_handler_yes}}); - EXPECT_FALSE(parser.IsTypeHndlRegistered("test::TestMessage", type_handler_yes)); + EXPECT_TRUE(parser.IsTypeHndlRegistered("test::TestMessage", type_handler_yes)); const std::string type_params = MakeTypeParams(DltidT{"ECU0"}, DltidT{"APP0"}); constexpr BufsizeT kTestMessageIndex = 1234; parser.AddIncomingType(kTestMessageIndex, type_params); - parser.AddTypeHandler("test::TestMessage", type_handler_yes); EXPECT_TRUE(parser.IsTypeHndlRegistered("test::TestMessage", type_handler_yes)); } @@ -228,7 +215,7 @@ TEST(LogParserTest, WeCanNotParseASharedMemoryRecordIfTheTypeIdentifierIsNotWith // Unfortunately, there other way to set expectation for calling this method. // And there is no other methods are using it internally. score::mw::log::detail::SharedMemoryRecord record; - EXPECT_NO_FATAL_FAILURE(parser.Parse(record)); + EXPECT_NO_FATAL_FAILURE(parser.ParseSharedMemoryRecord(record)); // Since we didn't fill any values to 'index_parser_map' map, it will be empty which leads to immediate returning. } diff --git a/score/datarouter/test/ut/ut_logging/test_socketserver.cpp b/score/datarouter/test/ut/ut_logging/test_socketserver.cpp index 52cad95c..da938bb7 100644 --- a/score/datarouter/test/ut/ut_logging/test_socketserver.cpp +++ b/score/datarouter/test/ut/ut_logging/test_socketserver.cpp @@ -223,17 +223,17 @@ TEST_F(SocketServerCreateDltServerTest, CreateDltServerExecutesSuccessfully) auto source_setup_handler = SocketServer::CreateSourceSetupHandler(*dlt_server); // Verify correct return type - EXPECT_TRUE((std::is_same::value)); + EXPECT_TRUE((std::is_same::value)); // Verify the lambda was created (not null) EXPECT_TRUE(static_cast(source_setup_handler)); - // Execute the lambda to cover lines 152-153 - score::mw::log::INvConfigMock nvconfig_mock; - score::platform::internal::LogParser parser(nvconfig_mock); - - // Call the lambda - source_setup_handler(std::move(parser)); + // Execute the lambda to cover the handler provider + std::vector global_handlers; + std::vector type_handlers; + source_setup_handler(global_handlers, type_handlers); + EXPECT_FALSE(global_handlers.empty()); + EXPECT_FALSE(type_handlers.empty()); } TEST_F(SocketServerCreateDltServerTest, CreateDltServerReturnsNullOnConfigError) From 7c30e2eef15bb119bd8040a01481d8459edac224 Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Wed, 1 Apr 2026 16:24:50 +0200 Subject: [PATCH 28/49] LogParser: Simplify TypeHandler handling GIT_ORIGIN_SPP_REV_ID: b043c154f33fe82a26ab4b64380fd68ae790a65d --- .../datarouter/include/logparser/logparser.h | 36 ++--------------- score/datarouter/src/logparser/logparser.cpp | 40 +++---------------- .../test/ut/ut_logging/test_logparser.cpp | 32 --------------- 3 files changed, 8 insertions(+), 100 deletions(-) diff --git a/score/datarouter/include/logparser/logparser.h b/score/datarouter/include/logparser/logparser.h index 92a0bc4b..8c08fb3d 100644 --- a/score/datarouter/include/logparser/logparser.h +++ b/score/datarouter/include/logparser/logparser.h @@ -50,28 +50,13 @@ class LogParser : public ILogParser void AddIncomingType(const BufsizeT map_index, const std::string& params) override; void AddIncomingType(const score::mw::log::detail::TypeRegistration&) override; - bool IsTypeHndlRegistered(const std::string& type_name, const TypeHandler& handler); - bool IsGlbHndlRegistered(const AnyHandler& handler); - void Parse(TimestampT timestamp, const char* data, BufsizeT size) override; void ParseSharedMemoryRecord(const score::mw::log::detail::SharedMemoryRecord& record) override; private: - struct HandleRequest - { - /* - Deviation from Rule A9-6-1: - - Data types used for interfacing with hardware or conforming to communication protocols shall be trivial, - standard-layout and only contain members of types with defined sizes. - Justification: - - It's false positive, this class is not used to interface with hardware. - */ - // coverity[autosar_cpp14_a9_6_1_violation : FALSE] - TypeHandler* handler; - }; // typeName-keyed // HandleRequestMap::value_type* is not changed by unrelated insert/erase - using HandleRequestMap = std::unordered_multimap; + using HandleRequestMap = std::unordered_multimap; class IndexParser { @@ -80,27 +65,12 @@ class LogParser : public ILogParser explicit IndexParser(TypeInfo type_info) : info{type_info}, handlers_{} {} - void AddHandler(const HandleRequestMap::value_type& request); + void AddHandler(TypeHandler* handler); void Parse(const TimestampT timestamp, const char* const data, const BufsizeT size); private: - struct Handler - { - /* - Deviation from Rule A9-6-1: - - Data types used for interfacing with hardware or conforming to communication protocols shall be trivial, - standard-layout and only contain members of types with defined sizes. - Justification: - - It's false positive, this class is not used to interface with hardware. - */ - // coverity[autosar_cpp14_a9_6_1_violation : FALSE] - const HandleRequestMap::value_type* request; - // coverity[autosar_cpp14_a9_6_1_violation : FALSE] - TypeHandler* handler; - }; - - std::vector handlers_; + std::vector handlers_; }; HandleRequestMap handle_request_map_; diff --git a/score/datarouter/src/logparser/logparser.cpp b/score/datarouter/src/logparser/logparser.cpp index f82b32e0..85583f02 100644 --- a/score/datarouter/src/logparser/logparser.cpp +++ b/score/datarouter/src/logparser/logparser.cpp @@ -64,27 +64,26 @@ LogParser::LogParser(const score::mw::log::INvConfig& nv_config, std::vector type_handlers) : ILogParser(), handle_request_map_{}, - typename_to_index_{}, index_parser_map_{}, global_handlers_{std::move(global_handlers)}, nv_config_(nv_config) { for (auto& binding : type_handlers) { - handle_request_map_.emplace(std::move(binding.type_name), HandleRequest{binding.handler}); + handle_request_map_.emplace(std::move(binding.type_name), binding.handler); } } -void LogParser::IndexParser::AddHandler(const LogParser::HandleRequestMap::value_type& request) +void LogParser::IndexParser::AddHandler(TypeHandler* handler) { - handlers_.push_back(Handler{&request, request.second.handler}); + handlers_.push_back(handler); } void LogParser::IndexParser::Parse(const TimestampT timestamp, const char* const data, const BufsizeT size) { for (const auto& handler : handlers_) { - handler.handler->Handle(timestamp, data, size); + handler->Handle(timestamp, data, size); } } @@ -108,12 +107,9 @@ void LogParser::AddIncomingType(const BufsizeT map_index, const std::string& par const auto ith_range = handle_request_map_.equal_range(type_name); for (auto ith = ith_range.first; ith != ith_range.second; ++ith) { - index_parser.AddHandler(*ith); + index_parser.AddHandler(ith->second); } - // Insert into index_parser_map_ before typename_to_index_ to maintain the invariant: - // every index visible in typename_to_index_ must have a corresponding entry in index_parser_map_. index_parser_map_.emplace(map_index, std::move(index_parser)); - typename_to_index_.emplace(type_name, map_index); } void LogParser::AddIncomingType(const score::mw::log::detail::TypeRegistration& type_registration) @@ -123,32 +119,6 @@ void LogParser::AddIncomingType(const score::mw::log::detail::TypeRegistration& this->AddIncomingType(type_registration.type_id, params); } -bool LogParser::IsTypeHndlRegistered(const std::string& type_name, const TypeHandler& handler) -{ - bool retval = false; - const auto ith_range = handle_request_map_.equal_range(type_name); - const auto finder = [&handler](const auto& v) { - return v.second.handler == &handler; - }; - const auto ith = std::find_if(ith_range.first, ith_range.second, finder); - if (ith != ith_range.second) - { - retval = true; - } - return retval; -} - -bool LogParser::IsGlbHndlRegistered(const AnyHandler& handler) -{ - const auto it = std::find(global_handlers_.begin(), global_handlers_.end(), &handler); - bool retval = false; - if (it != global_handlers_.end()) - { - retval = true; - } - return retval; -} - void LogParser::Parse(TimestampT timestamp, const char* data, BufsizeT size) { // TODO: move index storage and handling to MwsrHeader diff --git a/score/datarouter/test/ut/ut_logging/test_logparser.cpp b/score/datarouter/test/ut/ut_logging/test_logparser.cpp index 41b7a2d5..41900b08 100644 --- a/score/datarouter/test/ut/ut_logging/test_logparser.cpp +++ b/score/datarouter/test/ut/ut_logging/test_logparser.cpp @@ -141,38 +141,6 @@ TEST(LogParserTest, TestWrongTypeParameter) parser.AddIncomingType(kTestMessageIndex, type_params); } -// Test that global handlers passed to constructor are registered. -TEST(LogParserTest, TestRegisterGlobalHandler) -{ - testing::StrictMock any_handler; - LogParser parser(CreateTestNvConfig(), {&any_handler}); - EXPECT_TRUE(parser.IsGlbHndlRegistered(any_handler)); -} - -// Test that type handlers passed to constructor are registered. -TEST(LogParserTest, TestAlreadyRegisteredTypeHandler) -{ - testing::StrictMock type_handler_yes; - - LogParser parser(CreateTestNvConfig(), {}, {{"test::TestMessage", &type_handler_yes}}); - - EXPECT_TRUE(parser.IsTypeHndlRegistered("test::TestMessage", type_handler_yes)); -} - -TEST(LogParserTest, TestRegisteringNewTypeHandler) -{ - testing::StrictMock type_handler_yes; - LogParser parser(CreateTestNvConfig(), {}, {{"test::TestMessage", &type_handler_yes}}); - - EXPECT_TRUE(parser.IsTypeHndlRegistered("test::TestMessage", type_handler_yes)); - - const std::string type_params = MakeTypeParams(DltidT{"ECU0"}, DltidT{"APP0"}); - constexpr BufsizeT kTestMessageIndex = 1234; - parser.AddIncomingType(kTestMessageIndex, type_params); - - EXPECT_TRUE(parser.IsTypeHndlRegistered("test::TestMessage", type_handler_yes)); -} - struct SmallTestMessage { uint8_t test_field; From e9799b209054a4e059979a20453c7b764df24940 Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Wed, 1 Apr 2026 16:47:33 +0200 Subject: [PATCH 29/49] LogParser: Document thread-safety GIT_ORIGIN_SPP_REV_ID: 82b782b3df6597e68819a7b3eb8c96aa726a4e6a --- score/datarouter/README.md | 15 +++++++++++++++ score/datarouter/include/logparser/logparser.h | 14 +++++++++++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/score/datarouter/README.md b/score/datarouter/README.md index dc07ea12..ca9ce3f5 100644 --- a/score/datarouter/README.md +++ b/score/datarouter/README.md @@ -42,6 +42,21 @@ Example gap detection message: ``` The source ID corresponds to its PID. In this example, the source with PID `485` lost 37 messages because the datarouter did not read the ring buffer fast enough. +## Thread Safety — LogParser + +Each `LogParser` instance is owned by exactly one `SourceSession` inside the +datarouter. It is **not** thread-safe, but the current design guarantees +correctness through structural single-threading: + +| Concern | Guarantee | +|---|---| +| **Handler maps** (`handle_request_map_`, `global_handlers_`) | Populated once at construction via constructor injection and never mutated afterward (fix for Ticket-254408). | +| **Type/index maps** (`index_parser_map_`) | Mutated by `AddIncomingType()` and read by `Parse()` / `ParseSharedMemoryRecord()`, but both are called exclusively from `SourceSession::Tick()`, which runs single-threaded per session. | + +If the design ever evolves to allow concurrent access to a `LogParser` +(e.g. parallel readers or writers from different threads), `index_parser_map_` +would need protection (e.g. `std::shared_mutex`). + ## Configuration Configure logging to match application requirements through static configuration during application deployment. Deploy the configuration file relative to the binary under the `etc` directory (e.g., `./etc/logging.json`). diff --git a/score/datarouter/include/logparser/logparser.h b/score/datarouter/include/logparser/logparser.h index 8c08fb3d..eaa2c1d4 100644 --- a/score/datarouter/include/logparser/logparser.h +++ b/score/datarouter/include/logparser/logparser.h @@ -39,6 +39,19 @@ namespace platform namespace internal { +/// LogParser is NOT thread-safe. +/// +/// Handler maps (handle_request_map_, global_handlers_) are populated once at +/// construction via constructor injection and never mutated afterward (Ticket-254408). +/// However, AddIncomingType() mutates index_parser_map_ and Parse*()/ +/// ParseSharedMemoryRecord() reads it — both without synchronization. +/// +/// This is currently safe because a single SourceSession owns each LogParser +/// instance, and AddIncomingType() / Parse*() are only called from the +/// SourceSession::Tick() path, which is single-threaded per session. +/// +/// If the design ever evolves to allow concurrent access (e.g. parallel readers), +/// index_parser_map_ would need protection (e.g. std::shared_mutex). class LogParser : public ILogParser { public: @@ -75,7 +88,6 @@ class LogParser : public ILogParser HandleRequestMap handle_request_map_; - std::unordered_multimap typename_to_index_; std::unordered_map index_parser_map_; std::vector global_handlers_; From f112843d027a6f344ab247a3100aee0049038e3c Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Thu, 2 Apr 2026 07:27:52 +0200 Subject: [PATCH 30/49] Datarouter: Create LogParserFactory GIT_ORIGIN_SPP_REV_ID: dfc30f98abf3f9d69ecf92cb23bf8a9ca441789c --- score/datarouter/BUILD | 35 + score/datarouter/datarouter/data_router.cpp | 39 +- score/datarouter/datarouter/data_router.h | 9 +- .../datarouter/include/daemon/socketserver.h | 5 +- .../include/logparser/i_log_parser_factory.h | 47 + .../mocks/log_parser_factory_mock.h | 40 + score/datarouter/src/daemon/socketserver.cpp | 45 +- score/datarouter/test/ut/test_datarouter.cpp | 1187 +++++++++++++++++ .../datarouter/test/ut/test_socketserver.cpp | 594 +++++++++ .../test/ut/ut_logging/test_socketserver.cpp | 41 +- 10 files changed, 1967 insertions(+), 75 deletions(-) create mode 100644 score/datarouter/include/logparser/i_log_parser_factory.h create mode 100644 score/datarouter/mocks/log_parser_factory_mock.h create mode 100644 score/datarouter/test/ut/test_datarouter.cpp create mode 100644 score/datarouter/test/ut/test_socketserver.cpp diff --git a/score/datarouter/BUILD b/score/datarouter/BUILD index 0f6a9d6e..f87fd29c 100644 --- a/score/datarouter/BUILD +++ b/score/datarouter/BUILD @@ -246,6 +246,38 @@ cc_library( ], ) +cc_library( + name = "logparser_factory_interface", + hdrs = [ + "include/logparser/i_log_parser_factory.h", + ], + features = COMPILER_WARNING_FEATURES, + strip_include_prefix = "include", + visibility = [ + "//score/datarouter/src/dlt/nonverbose_dlt_impl:__pkg__", + "//score/datarouter/src/dlt/nonverbose_dlt_stub:__pkg__", + "//score/datarouter/test:__subpackages__", + "@score_logging//score/datarouter:__subpackages__", + ], + deps = [ + ":logparser_interface", + ], +) + +cc_library( + name = "logparser_factory_mock", + hdrs = [ + "mocks/log_parser_factory_mock.h", + ], + features = COMPILER_WARNING_FEATURES, + strip_include_prefix = "mocks", + visibility = ["//score/datarouter/test:__subpackages__"], + deps = [ + ":logparser_factory_interface", + "@googletest//:gtest_main", + ], +) + ## =========================================================================== ## libtracing ## --------------------------------------------------------------------------- @@ -398,6 +430,7 @@ cc_library( ":datarouter_types", ":log", ":logparser", + ":logparser_factory_interface", ":message_passing_server", ":unixdomain_server", "//score/mw/log/detail/data_router/shared_memory:reader", @@ -421,6 +454,7 @@ cc_library( deps = [ ":log", ":logparser", + ":logparser_factory_interface", ":message_passing_server", ":unixdomain_mock", "@score_baselibs//score/concurrency:synchronized", @@ -442,6 +476,7 @@ cc_library( deps = [ ":datarouter_types", ":log", + ":logparser_factory_interface", ":logparser_testing", ":message_passing_server", ":unixdomain_mock", diff --git a/score/datarouter/datarouter/data_router.cpp b/score/datarouter/datarouter/data_router.cpp index f3e82e02..19a77254 100644 --- a/score/datarouter/datarouter/data_router.cpp +++ b/score/datarouter/datarouter/data_router.cpp @@ -13,6 +13,8 @@ #include "score/datarouter/datarouter/data_router.h" +#include "logparser/logparser.h" + #include "score/mw/log/logging.h" #include "score/os/unistd.h" @@ -74,8 +76,8 @@ std::string QuotaValueAsString(double quota) noexcept return ss.str(); } -DataRouter::DataRouter(score::mw::log::Logger& logger, HandlerProvider handler_provider) - : stats_logger_(logger), handler_provider_(std::move(handler_provider)) +DataRouter::DataRouter(score::mw::log::Logger& logger, std::unique_ptr log_parser_factory) + : stats_logger_(logger), log_parser_factory_(std::move(log_parser_factory)) { } @@ -122,27 +124,18 @@ std::unique_ptr DataRouter::NewSourceSessionImpl( std::unique_ptr reader, const score::mw::log::NvConfig& nv_config) { - // Obtain handler lists from the provider before constructing the parser. - // This ensures all handlers are injected at construction time, making LogParser - // intrinsically thread-safe (no post-construction mutation of handler maps). - std::vector global_handlers; - std::vector type_handlers; - if (handler_provider_) - { - handler_provider_(global_handlers, type_handlers); - } - - auto source_session = std::make_unique( - *this, - std::move(reader), - name, - is_dlt_enabled, - std::move(handle), - quota, - quota_enforcement_enabled, - stats_logger_, - std::make_unique( - nv_config, std::move(global_handlers), std::move(type_handlers))); + auto parser = log_parser_factory_ ? log_parser_factory_->Create(nv_config) + : std::make_unique(nv_config); + + auto source_session = std::make_unique(*this, + std::move(reader), + name, + is_dlt_enabled, + std::move(handle), + quota, + quota_enforcement_enabled, + stats_logger_, + std::move(parser)); if (!source_session) { diff --git a/score/datarouter/datarouter/data_router.h b/score/datarouter/datarouter/data_router.h index 5c1232fc..c21f2be3 100644 --- a/score/datarouter/datarouter/data_router.h +++ b/score/datarouter/datarouter/data_router.h @@ -15,7 +15,7 @@ #define SCORE_DATAROUTER_DATAROUTER_DATA_ROUTER_H #include "daemon/message_passing_server.h" -#include "logparser/logparser.h" +#include "logparser/i_log_parser_factory.h" #include "score/mw/log/configuration/nvconfig.h" #include "score/mw/log/detail/data_router/shared_memory/reader_factory.h" #include "score/mw/log/detail/data_router/shared_memory/shared_memory_reader.h" @@ -40,6 +40,7 @@ namespace datarouter { using internal::ILogParser; +using internal::ILogParserFactory; using internal::MessagePassingServer; using internal::UnixDomainServer; @@ -87,15 +88,13 @@ struct StatsData class DataRouter { public: - using HandlerProvider = - std::function&, std::vector&)>; using SessionPtr = std::unique_ptr; using MessagingSessionPtr = std::unique_ptr; using SessionHandleVariant = score::cpp::variant>; - explicit DataRouter(score::mw::log::Logger& logger, HandlerProvider handler_provider = HandlerProvider()); + explicit DataRouter(score::mw::log::Logger& logger, std::unique_ptr log_parser_factory = nullptr); MessagingSessionPtr NewSourceSession( int fd, @@ -218,7 +217,7 @@ class DataRouter score::mw::log::Logger& stats_logger_; std::unordered_set sources_; - HandlerProvider handler_provider_; + std::unique_ptr log_parser_factory_; std::mutex subscriber_mutex_; }; diff --git a/score/datarouter/include/daemon/socketserver.h b/score/datarouter/include/daemon/socketserver.h index 15297cd8..725fb787 100644 --- a/score/datarouter/include/daemon/socketserver.h +++ b/score/datarouter/include/daemon/socketserver.h @@ -16,7 +16,7 @@ #include "daemon/dlt_log_server.h" #include "daemon/message_passing_server.h" -#include "logparser/logparser.h" +#include "logparser/i_log_parser_factory.h" #include "score/mw/log/configuration/nvconfig.h" #include "score/mw/log/logging.h" #include "score/datarouter/datarouter/data_router.h" @@ -90,7 +90,8 @@ class SocketServer static std::unique_ptr CreateDltServer( const PersistentStorageHandlers& storage_handlers); - static DataRouter::HandlerProvider CreateSourceSetupHandler(score::logging::dltserver::DltLogServer& dlt_server); + static std::unique_ptr CreateLogParserFactory( + score::logging::dltserver::DltLogServer& dlt_server); // Static helper functions for testing lambda bodies static void UpdateParserHandlers(score::logging::dltserver::DltLogServer& dlt_server, diff --git a/score/datarouter/include/logparser/i_log_parser_factory.h b/score/datarouter/include/logparser/i_log_parser_factory.h new file mode 100644 index 00000000..85035106 --- /dev/null +++ b/score/datarouter/include/logparser/i_log_parser_factory.h @@ -0,0 +1,47 @@ +/******************************************************************************** + * Copyright (c) 2025 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ + +#ifndef SCORE_DATAROUTER_INCLUDE_LOGPARSER_I_LOG_PARSER_FACTORY_H +#define SCORE_DATAROUTER_INCLUDE_LOGPARSER_I_LOG_PARSER_FACTORY_H + +#include "logparser/i_logparser.h" + +#include + +namespace score +{ +namespace mw +{ +namespace log +{ +class NvConfig; +} // namespace log +} // namespace mw +namespace platform +{ +namespace internal +{ + +class ILogParserFactory +{ + public: + virtual ~ILogParserFactory() = default; + + virtual std::unique_ptr Create(const score::mw::log::NvConfig& nv_config) = 0; +}; + +} // namespace internal +} // namespace platform +} // namespace score + +#endif // SCORE_DATAROUTER_INCLUDE_LOGPARSER_I_LOG_PARSER_FACTORY_H diff --git a/score/datarouter/mocks/log_parser_factory_mock.h b/score/datarouter/mocks/log_parser_factory_mock.h new file mode 100644 index 00000000..ee3fce97 --- /dev/null +++ b/score/datarouter/mocks/log_parser_factory_mock.h @@ -0,0 +1,40 @@ +/******************************************************************************** + * Copyright (c) 2025 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ + +#ifndef SCORE_DATAROUTER_MOCKS_LOG_PARSER_FACTORY_MOCK_H +#define SCORE_DATAROUTER_MOCKS_LOG_PARSER_FACTORY_MOCK_H + +#include "logparser/i_log_parser_factory.h" + +#include + +namespace score +{ +namespace platform +{ +namespace internal +{ + +class ILogParserFactoryMock : public ILogParserFactory +{ + public: + ~ILogParserFactoryMock() override = default; + + MOCK_METHOD(std::unique_ptr, Create, (const score::mw::log::NvConfig& nv_config), (override)); +}; + +} // namespace internal +} // namespace platform +} // namespace score + +#endif // SCORE_DATAROUTER_MOCKS_LOG_PARSER_FACTORY_MOCK_H diff --git a/score/datarouter/src/daemon/socketserver.cpp b/score/datarouter/src/daemon/socketserver.cpp index 491153e3..96332308 100644 --- a/score/datarouter/src/daemon/socketserver.cpp +++ b/score/datarouter/src/daemon/socketserver.cpp @@ -16,6 +16,7 @@ #include "daemon/dlt_log_server.h" #include "daemon/message_passing_server.h" #include "daemon/socketserver_config.h" +#include "logparser/logparser.h" #include "score/datarouter/daemon_communication/session_handle_interface.h" #include "score/datarouter/datarouter/data_router.h" @@ -156,20 +157,27 @@ std::unique_ptr SocketServer::CreateDlt static_config.value(), storage_handlers.load_dlt, storage_handlers.store_dlt, storage_handlers.is_dlt_enabled); } -DataRouter::HandlerProvider SocketServer::CreateSourceSetupHandler(score::logging::dltserver::DltLogServer& dlt_server) +std::unique_ptr SocketServer::CreateLogParserFactory( + score::logging::dltserver::DltLogServer& dlt_server) { - /* - Deviation from Rule A5-1-4: - - A lambda expression object shall not outlive any of its reference captured objects. - Justification: - - dltServer and lambda are in the same scope. - */ - // coverity[autosar_cpp14_a5_1_4_violation] - return [&dlt_server](std::vector& global_handlers, - std::vector& type_handlers) { - global_handlers = dlt_server.GetGlobalHandlers(); - type_handlers = dlt_server.GetTypeHandlerBindings(); + class DltLogParserFactory : public score::platform::internal::ILogParserFactory + { + public: + explicit DltLogParserFactory(score::logging::dltserver::DltLogServer& dlt_server) : dlt_server_(dlt_server) {} + + std::unique_ptr Create(const score::mw::log::NvConfig& nv_config) override + { + auto global_handlers = dlt_server_.GetGlobalHandlers(); + auto type_handlers = dlt_server_.GetTypeHandlerBindings(); + return std::make_unique( + nv_config, std::move(global_handlers), std::move(type_handlers)); + } + + private: + score::logging::dltserver::DltLogServer& dlt_server_; }; + + return std::make_unique(dlt_server); } // Static helper: Update handlers for each parser @@ -360,16 +368,9 @@ void SocketServer::DoWork(const std::atomic_bool& exit_requested, const bool no_ return; } - // Create data router with source setup handler - const auto source_setup = CreateSourceSetupHandler(*dlt_server); - /* - Deviation from Rule A5-1-4: - - A lambda expression object shall not outlive any of its reference captured objects. - Justification: - - router and lambda are in the same scope. - */ - // coverity[autosar_cpp14_a5_1_4_violation] - DataRouter router(stats_logger, source_setup); + // Create data router with log parser factory + auto log_parser_factory = CreateLogParserFactory(*dlt_server); + DataRouter router(stats_logger, std::move(log_parser_factory)); // Create and set enable handler const auto enable_handler = CreateEnableHandler(router, *pd, *dlt_server); diff --git a/score/datarouter/test/ut/test_datarouter.cpp b/score/datarouter/test/ut/test_datarouter.cpp new file mode 100644 index 00000000..5a4bd112 --- /dev/null +++ b/score/datarouter/test/ut/test_datarouter.cpp @@ -0,0 +1,1187 @@ +#include "score/datarouter/datarouter/data_router.h" + +#include "logparser/logparser.h" +#include "score/os/mocklib/unistdmock.h" +#include "score/mw/log/detail/data_router/shared_memory/reader_factory_mock.h" +#include "score/mw/log/detail/data_router/shared_memory/shared_memory_reader.h" +#include "score/mw/log/detail/data_router/shared_memory/shared_memory_writer.h" +#include "score/datarouter/daemon_communication/session_handle_mock.h" +#include "score/datarouter/test/utils/data_router_test_utils.h" + +#include "score/mw/log/configuration/nvconfig.h" +#include "score/mw/log/configuration/nvconfigfactory.h" + +#include "score/static_reflection_with_serialization/serialization/include/serialization/visit_size.h" + +#include "score/mw/log/detail/data_router/shared_memory/shared_memory_reader_mock.h" + +#include + +#include "gtest/gtest.h" + +using namespace testing; +using namespace test; + +namespace score +{ +namespace platform +{ +namespace datarouter +{ + +class LoggerMock +{ + public: + struct LogStream + { + template + LogStream& operator<<(const T&) + { + return *this; + } + }; + + LogStream LogInfo() + { + return {}; + } + LogStream LogError() + { + return {}; + } + LogStream LogWarning() + { + return {}; + } +}; + +class DataRouter::DataRouterForTest : public DataRouter +{ + public: + using DataRouter::DataRouter; + using DataRouter::SourceSession; +}; + +class DataRouter::DataRouterForTest::SourceSession::SourceSessionForTest : public DataRouter::SourceSession +{ + public: + using DataRouter::SourceSession::execute_send_no_operation; + using DataRouter::SourceSession::is_source_closed; + using DataRouter::SourceSession::on_acquire_response; + using DataRouter::SourceSession::process_detached_logs; + using DataRouter::SourceSession::processAndRouteLogMessages; + using DataRouter::SourceSession::request_acquire; + using DataRouter::SourceSession::schedule_send_check_alive; + using DataRouter::SourceSession::SourceSession; + using DataRouter::SourceSession::tick; + using DataRouter::SourceSession::tryFinalizeAcquisition; + + using DataRouter::SourceSession::command_data_; + using DataRouter::SourceSession::command_send_check_alive_; + using DataRouter::SourceSession::handle_; + using DataRouter::SourceSession::local_subscriber_data_; + using DataRouter::SourceSession::stats_data_; + + SourceSessionForTest(DataRouter& router, + std::unique_ptr reader, + const std::string& name, + const bool is_dlt_enabled, + SessionHandleVariant handle, + const double quota, + bool quota_enforcement_enabled, + score::mw::log::Logger& stats_logger, + std::unique_ptr parser = nullptr) + : SourceSession(router, + std::move(reader), + name, + is_dlt_enabled, + std::move(handle), + quota, + quota_enforcement_enabled, + stats_logger, + std::move(parser)) + { + } +}; + +using namespace score::platform; +using namespace score::platform::internal; +using score::platform::datarouter::CommandData; +using score::platform::datarouter::LocalSubscriberData; +using score::platform::datarouter::StatsData; +using score::platform::datarouter::synchronized; + +class SourceSessionTestFixture : public ::testing::Test +{ + public: + SourceSessionTestFixture() : logger_(score::mw::log::CreateLogger("DRUT", "statistics")), router_(logger_) {} + + public: + void SetUp() override + { + auto sharedMemoryReaderMock = std::make_unique(); + sharedMemoryReaderMock_ = sharedMemoryReaderMock.get(); + score::cpp::pmr::unique_ptr sessionHandleMock = + score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + + auto nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); + auto parser = std::make_unique(nv_config); + + sourceSessionUnderTest_ = std::make_unique( + router_, + std::move(sharedMemoryReaderMock), + "source1", + false, + std::move(sessionHandleMock), + 0, + false, + logger_, + std::move(parser)); + } + + protected: + daemon::mock::SessionHandleMock* SetupMockSessionHandle() + { + auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto* session_sender_ptr = session_sender.get(); + score::cpp::pmr::unique_ptr handle_base(std::move(session_sender)); + sourceSessionUnderTest_->handle_ = std::move(handle_base); + return session_sender_ptr; + } + + score::mw::log::Logger& logger_; + datarouter::DataRouter router_; + score::mw::log::detail::ISharedMemoryReaderMock* sharedMemoryReaderMock_; + + std::unique_ptr sourceSessionUnderTest_; +}; + +TEST_F(SourceSessionTestFixture, TryFinalizeAcquisitionIsBlockReleased) +{ + bool needs_fast_reschedule = true; + + EXPECT_CALL(*sharedMemoryReaderMock_, IsBlockReleasedByWriters(_)).WillOnce(Return(true)); + + // any value except null + sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { + cmd.data_acquired_ = score::mw::log::detail::ReadAcquireResult(); + }); + + EXPECT_TRUE(sourceSessionUnderTest_->tryFinalizeAcquisition(needs_fast_reschedule)); +} + +TEST_F(SourceSessionTestFixture, TryFinalizeAcquisitionIsBlockNotReleased) +{ + bool needs_fast_reschedule = true; + + EXPECT_CALL(*sharedMemoryReaderMock_, IsBlockReleasedByWriters(_)).WillOnce(Return(false)); + + // any value except null + sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { + cmd.data_acquired_ = score::mw::log::detail::ReadAcquireResult(); + }); + + EXPECT_FALSE(sourceSessionUnderTest_->tryFinalizeAcquisition(needs_fast_reschedule)); +} + +TEST_F(SourceSessionTestFixture, ProcessAndRouteLogMessagesAcquireFinalized) +{ + uint64_t message_count_local = 0; + std::chrono::microseconds transport_delay_local = std::chrono::microseconds::zero(); + uint64_t number_of_bytes_in_buffer = 0; + bool acquire_finalized_in_this_tick = true; + bool needs_fast_reschedule = false; + + sourceSessionUnderTest_->processAndRouteLogMessages(message_count_local, + transport_delay_local, + number_of_bytes_in_buffer, + acquire_finalized_in_this_tick, + needs_fast_reschedule); + + // ASSERT_TRUE(sourceSessionUnderTest_->command_data_); + + sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { + EXPECT_FALSE(cmd.acquire_requested); + EXPECT_EQ(cmd.ticks_without_write, 0); + }); +} + +TEST_F(SourceSessionTestFixture, ProcessAndRouteLogMessagesBlockExpectedToBeNextDataAvailable) +{ + uint64_t message_count_local = 0; + std::chrono::microseconds transport_delay_local = std::chrono::microseconds::zero(); + uint64_t number_of_bytes_in_buffer = 0; + bool acquire_finalized_in_this_tick = false; + bool needs_fast_reschedule = false; + + sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { + cmd.acquire_requested = false; + cmd.command_detach_on_closed = false; + cmd.block_expected_to_be_next = 0; + }); + + sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& cmd) { + cmd.enabled_logging_at_server_ = true; + }); + + EXPECT_CALL(*sharedMemoryReaderMock_, PeekNumberOfBytesAcquiredInBuffer(_)).WillOnce(Return(10)); + + sourceSessionUnderTest_->processAndRouteLogMessages(message_count_local, + transport_delay_local, + number_of_bytes_in_buffer, + acquire_finalized_in_this_tick, + needs_fast_reschedule); + + sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { + EXPECT_TRUE(cmd.acquire_requested); + }); + EXPECT_TRUE(needs_fast_reschedule); +} + +TEST_F(SourceSessionTestFixture, ProcessAndRouteLogMessagesBlockExpectedToBeNextDataNotAvailable) +{ + uint64_t message_count_local = 0; + std::chrono::microseconds transport_delay_local = std::chrono::microseconds::zero(); + uint64_t number_of_bytes_in_buffer = 0; + bool acquire_finalized_in_this_tick = false; + bool needs_fast_reschedule = false; + + const uint8_t ticks_without_write = 1; + + sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { + cmd.acquire_requested = false; + cmd.command_detach_on_closed = false; + cmd.block_expected_to_be_next = 0; + cmd.ticks_without_write = ticks_without_write; + }); + sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& cmd) { + cmd.enabled_logging_at_server_ = true; + }); + + EXPECT_CALL(*sharedMemoryReaderMock_, PeekNumberOfBytesAcquiredInBuffer(_)).WillOnce(Return(std::nullopt)); + + sourceSessionUnderTest_->processAndRouteLogMessages(message_count_local, + transport_delay_local, + number_of_bytes_in_buffer, + acquire_finalized_in_this_tick, + needs_fast_reschedule); + + sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { + EXPECT_EQ(cmd.ticks_without_write, ticks_without_write + 1); + }); +} + +TEST_F(SourceSessionTestFixture, ProcessAndRouteLogMessagesNotBlockExpectedToBeNext) +{ + uint64_t message_count_local = 0; + std::chrono::microseconds transport_delay_local = std::chrono::microseconds::zero(); + uint64_t number_of_bytes_in_buffer = 0; + bool acquire_finalized_in_this_tick = false; + bool needs_fast_reschedule = false; + + sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { + cmd.acquire_requested = false; + cmd.command_detach_on_closed = false; + cmd.block_expected_to_be_next = std::nullopt; + }); + sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& cmd) { + cmd.enabled_logging_at_server_ = true; + }); + + sourceSessionUnderTest_->processAndRouteLogMessages(message_count_local, + transport_delay_local, + number_of_bytes_in_buffer, + acquire_finalized_in_this_tick, + needs_fast_reschedule); + + sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { + EXPECT_TRUE(cmd.acquire_requested); + }); + EXPECT_TRUE(needs_fast_reschedule); +} + +TEST_F(SourceSessionTestFixture, RequestAcquire) +{ + UnixDomainServer::SessionHandle session_handle(0, nullptr); + + sourceSessionUnderTest_->handle_ = session_handle; + + // verify that DataRouter::SourceSession is able + // to process UnixDomainServer::SessionHandle type + EXPECT_NO_THROW(sourceSessionUnderTest_->request_acquire()); +} + +TEST_F(SourceSessionTestFixture, ScheduleSendCheckAlive) +{ + RecordProperty("ASIL", "QM"); + RecordProperty("TestType", "Verification of the control flow and data flow"); + RecordProperty("Description", "Verify schedule_send_check_alive sets the check alive flag to true."); + RecordProperty("DerivationTechnique", "Equivalence partitioning"); + + // Initially the flag should be false + EXPECT_FALSE(sourceSessionUnderTest_->command_send_check_alive_.load()); + + // Call the method + sourceSessionUnderTest_->schedule_send_check_alive(); + + // Verify the flag is now true + EXPECT_TRUE(sourceSessionUnderTest_->command_send_check_alive_.load()); +} + +TEST_F(SourceSessionTestFixture, OnAcquireResponse) +{ + sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { + cmd.data_acquired_ = std::nullopt; + }); + + const score::mw::log::detail::ReadAcquireResult readAcquireResult{44}; + sourceSessionUnderTest_->on_acquire_response(readAcquireResult); + + sourceSessionUnderTest_->command_data_.with_lock([&readAcquireResult](auto& cmd) { + ASSERT_TRUE(cmd.data_acquired_); + EXPECT_EQ(cmd.data_acquired_->acquired_buffer, readAcquireResult.acquired_buffer); + }); +} + +TEST_F(SourceSessionTestFixture, ExecuteSendNoOperationWithUnixDomainSocket) +{ + RecordProperty("ASIL", "QM"); + RecordProperty("TestType", "Verification of the control flow and data flow"); + RecordProperty("Description", "Verify execute_send_no_operation is a no-op for Unix domain sockets."); + RecordProperty("DerivationTechnique", "Equivalence partitioning"); + + UnixDomainServer::SessionHandle session_handle(0, nullptr); + sourceSessionUnderTest_->handle_ = session_handle; + + // Should not throw and is a no-op for Unix domain sockets + EXPECT_NO_THROW(sourceSessionUnderTest_->execute_send_no_operation()); +} + +TEST_F(SourceSessionTestFixture, ExecuteSendNoOperationWithSessionHandleMockLoggingDisabled) +{ + RecordProperty("ASIL", "QM"); + RecordProperty("TestType", "Verification of the control flow and data flow"); + RecordProperty("Description", + "Verify execute_send_no_operation with mock session handle when logging is disabled."); + RecordProperty("DerivationTechnique", "Equivalence partitioning"); + + auto* session_sender_ptr = SetupMockSessionHandle(); + + // Set logging disabled + sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& data) { + data.enabled_logging_at_server_ = false; + }); + + // Expect SendCheckAlive to be called when logging is disabled + EXPECT_CALL(*session_sender_ptr, SendCheckAlive()).Times(1); + + sourceSessionUnderTest_->execute_send_no_operation(); +} + +TEST_F(SourceSessionTestFixture, ExecuteSendNoOperationWithSessionHandleMockLoggingEnabled) +{ + RecordProperty("ASIL", "QM"); + RecordProperty("TestType", "Verification of the control flow and data flow"); + RecordProperty("Description", "Verify execute_send_no_operation sends command when logging is enabled."); + RecordProperty("DerivationTechnique", "Equivalence partitioning"); + + auto* session_sender_ptr = SetupMockSessionHandle(); + + // Set logging enabled + sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& data) { + data.enabled_logging_at_server_ = true; + }); + + // Expect SendCheckAlive NOT to be called when logging is enabled + EXPECT_CALL(*session_sender_ptr, SendCheckAlive()).Times(0); + + sourceSessionUnderTest_->execute_send_no_operation(); +} + +TEST_F(SourceSessionTestFixture, TickCallsExecuteSendNoOperationWhenFlagIsSet) +{ + RecordProperty("ASIL", "QM"); + RecordProperty("TestType", "Verification of the control flow and data flow"); + RecordProperty("Description", "Verify tick calls execute_send_no_operation when check alive flag is set."); + RecordProperty("DerivationTechnique", "Equivalence partitioning"); + + auto* session_sender_ptr = SetupMockSessionHandle(); + + // Set logging disabled so SendCheckAlive will be called + sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& data) { + data.enabled_logging_at_server_ = false; + }); + + // Schedule the check alive which sets the flag to true + sourceSessionUnderTest_->schedule_send_check_alive(); + EXPECT_TRUE(sourceSessionUnderTest_->command_send_check_alive_.load()); + + // Expect SendCheckAlive to be called during tick + EXPECT_CALL(*session_sender_ptr, SendCheckAlive()).Times(1); + + // Call tick which should execute_send_no_operation and reset the flag + sourceSessionUnderTest_->tick(); + + // Verify the flag was reset to false after tick + EXPECT_FALSE(sourceSessionUnderTest_->command_send_check_alive_.load()); +} + +TEST_F(SourceSessionTestFixture, TickDoesNotCallExecuteSendNoOperationWhenFlagIsNotSet) +{ + RecordProperty("ASIL", "QM"); + RecordProperty("TestType", "Verification of the control flow and data flow"); + RecordProperty("Description", + "Verify tick does not call execute_send_no_operation when check alive flag is not set."); + RecordProperty("DerivationTechnique", "Equivalence partitioning"); + + auto* session_sender_ptr = SetupMockSessionHandle(); + + // Set logging disabled + sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& data) { + data.enabled_logging_at_server_ = false; + }); + + // Verify flag is initially false + EXPECT_FALSE(sourceSessionUnderTest_->command_send_check_alive_.load()); + + // Expect SendCheckAlive NOT to be called + EXPECT_CALL(*session_sender_ptr, SendCheckAlive()).Times(0); + + // Call tick - should not call execute_send_no_operation + sourceSessionUnderTest_->tick(); + + // Flag should still be false + EXPECT_FALSE(sourceSessionUnderTest_->command_send_check_alive_.load()); +} + +TEST_F(SourceSessionTestFixture, IsSourceClosed) +{ + { + sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& data) { + data.detach_on_closed_processed = false; + }); + + EXPECT_FALSE(sourceSessionUnderTest_->is_source_closed()); + } + { + sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& data) { + data.detach_on_closed_processed = true; + }); + + EXPECT_TRUE(sourceSessionUnderTest_->is_source_closed()); + } +} + +// custom action because InvokeArgument could not work with reference to move-only argument +ACTION(InvokeSharedReadArguments) +{ + arg0(score::mw::log::detail::TypeRegistration()); + arg1(score::mw::log::detail::SharedMemoryRecord()); +} + +TEST_F(SourceSessionTestFixture, ProcessDetachedLogsReaderUsed) +{ + score::mw::log::detail::TypeRegistration tr; + + EXPECT_CALL(*sharedMemoryReaderMock_, ReadDetached(_, _)) + .WillOnce(DoAll(InvokeSharedReadArguments(), Return(std::nullopt))); + + uint64_t number_of_bytes_in_buffer = 0; + sourceSessionUnderTest_->process_detached_logs(number_of_bytes_in_buffer); +} + +TEST_F(SourceSessionTestFixture, ProcessAndRouteLogMessagesQuotaLimitExceeded) +{ + uint64_t message_count_local = 0; + std::chrono::microseconds transport_delay_local = std::chrono::microseconds::zero(); + uint64_t number_of_bytes_in_buffer = 0; + bool acquire_finalized_in_this_tick = false; + bool needs_fast_reschedule = false; + + sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { + cmd.acquire_requested = false; + cmd.command_detach_on_closed = false; + cmd.block_expected_to_be_next = std::nullopt; + }); + sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& cmd) { + cmd.enabled_logging_at_server_ = true; + }); + + sourceSessionUnderTest_->stats_data_.with_lock([](auto& cmd) { + cmd.quota_overlimit_detected = true; + }); + + EXPECT_CALL(*sharedMemoryReaderMock_, Read(_, _)) + .WillOnce(DoAll(InvokeSharedReadArguments(), Return(std::nullopt))); + + sourceSessionUnderTest_->processAndRouteLogMessages(message_count_local, + transport_delay_local, + number_of_bytes_in_buffer, + acquire_finalized_in_this_tick, + needs_fast_reschedule); +} + +constexpr bool kDefaultDltEnable{true}; +class DataRouterTestFixture : public ::testing::Test +{ + public: + void SetUp() override + { + score::os::Unistd::set_testing_instance(unistd_mock_); + + constexpr auto kBufferSize = UINT64_C(1024); + buffer1_.resize(kBufferSize); + buffer2_.resize(kBufferSize); + shared_data_.control_block.control_block_even.data = {buffer1_.data(), static_cast(kBufferSize)}; + shared_data_.control_block.control_block_odd.data = {buffer2_.data(), static_cast(kBufferSize)}; + } + + void TearDown() override + { + score::os::Unistd::restore_instance(); + } + + score::mw::log::NvConfig nvConfig = score::mw::log::NvConfigFactory::CreateEmpty(); + + datarouter::DataRouter::LogParserFactory DefaultParserFactory() + { + return [this]() -> std::unique_ptr { + return std::make_unique(nvConfig); + }; + } + + score::mw::log::detail::ReaderFactoryPtr CreateReaderFactory() + { + auto factory = std::make_unique(); + EXPECT_CALL(*factory, Create(_, _)).WillOnce([this](auto, auto) -> auto { + return std::make_unique( + shared_data_, + score::mw::log::detail::AlternatingReadOnlyReader{shared_data_.control_block, buffer1_, buffer2_}, + []() noexcept {}); + }); + return factory; + } + + score::mw::log::detail::ReaderFactoryPtr CreateReaderFactoryWithDetachedReader() + { + auto factory = std::make_unique(); + EXPECT_CALL(*factory, Create(_, _)).WillOnce([this](auto, auto) -> auto { + auto reader = std::make_unique( + shared_data_, + score::mw::log::detail::AlternatingReadOnlyReader{shared_data_.control_block, buffer1_, buffer2_}, + []() noexcept {}); + // detach reader to simulate read error on next read + reader->ReadDetached([](const score::mw::log::detail::TypeRegistration&) {}, + [](const score::mw::log::detail::SharedMemoryRecord&) {}); + return reader; + }); + return factory; + } + + score::os::UnistdMock unistd_mock_; + + std::vector buffer1_{}; + std::vector buffer2_{}; + + score::mw::log::detail::SharedData shared_data_{}; + + score::mw::log::detail::SharedMemoryWriter writer_{shared_data_, []() noexcept {}}; +}; + +TEST_F(DataRouterTestFixture, ConstructionAndDestructionOnStack) +{ + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + datarouter::DataRouter router(logger); +} + +TEST_F(DataRouterTestFixture, ConstructionAndDestructionOnHeap) +{ + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + auto unique_datarouter = std::make_unique(logger); + unique_datarouter.reset(); +} + +TEST_F(DataRouterTestFixture, WhenOnlySourceSession) +{ + int sourceCallbackCount = 0; + auto parserFactory = [&sourceCallbackCount]() -> std::unique_ptr { + ++sourceCallbackCount; + auto nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); + return std::make_unique(nv_config); + }; + + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + datarouter::DataRouter router(logger, parserFactory); + + auto session1_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto sourceSession1 = router.new_source_session( + 1001, "source1", kDefaultDltEnable, std::move(session1_sender), 0., false, 2001, CreateReaderFactory()); + EXPECT_EQ(sourceSession1->tick(), false); + router.show_source_statistics(0); + + auto session2_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto sourceSession2 = router.new_source_session( + 1002, "source2", kDefaultDltEnable, std::move(session2_sender), 0., false, 2001, CreateReaderFactory()); + + int sourceListItemCount = 0; + int sourceListEndCount = 0; + auto e = [&](LogParser&) { + ++sourceListItemCount; + }; + auto f = [&] { + ++sourceListEndCount; + }; + constexpr bool enable_dlt_logging{true}; + router.for_each_source_parser(e, f, enable_dlt_logging); + EXPECT_EQ(sourceListItemCount, 2); + EXPECT_EQ(sourceListEndCount, 1); + EXPECT_EQ(sourceCallbackCount, 2); // factory called once per session +} + +struct TestMessage +{ + int32_t testField; +}; + +STRUCT_VISITABLE(TestMessage, testField) + +class AnyHandlerMock : public LogParser::AnyHandler +{ + public: + MOCK_METHOD(void, handle, (const TypeInfo&, timestamp_t, const char*, bufsize_t), (override final)); +}; + +class TypeHandlerMock : public LogParser::TypeHandler +{ + public: + MOCK_METHOD(void, handle, (timestamp_t, const char*, bufsize_t), (override final)); +}; + +TEST_F(DataRouterTestFixture, WhenMessageHandledFromRw) +{ + TestMessage message{2345}; + auto type_info = utils::CreateTypeInfo(); + const auto register_result = writer_.TryRegisterType(type_info); + + writer_.AllocAndWrite( + [&message](auto data_span) { + return score::common::visitor::logging_serializer::serialize( + message, data_span.data(), score::mw::log::detail::GetDataSizeAsLength(data_span)); + }, + register_result.value(), + score::common::visitor::logging_serializer::serialize_size(message)); + + shared_data_.writer_detached.store(true); + + testing::StrictMock anyHandler; + EXPECT_CALL(anyHandler, handle(_, _, _, _)).Times(1); + + testing::StrictMock typeHandler; + EXPECT_CALL(typeHandler, handle(_, _, _)).Times(1); + + auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); + auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { + return std::make_unique( + nv_config_local, + std::vector{&anyHandler}, + std::vector{{"score::platform::datarouter::TestMessage", &typeHandler}}); + }; + + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + datarouter::DataRouter router(logger, parserFactory); + + auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto sourceSession1 = router.new_source_session( + 1001, "source1", kDefaultDltEnable, std::move(session_sender), 0., false, 2001, CreateReaderFactory()); + EXPECT_EQ(sourceSession1->tick(), false); + + int sourceListItemCount = 0; + int sourceListEndCount = 0; + auto e = [&](LogParser& parser) { + std::ignore = parser; + ++sourceListItemCount; + }; + auto f = [&] { + ++sourceListEndCount; + }; + constexpr bool enable_dlt_logging{true}; + router.for_each_source_parser(e, f, enable_dlt_logging); + EXPECT_EQ(sourceListItemCount, 1); + EXPECT_EQ(sourceListEndCount, 1); +} + +// To test a condition inside the tick() method. +// The condition is: +// if (message_count_dropped_new != message_count_dropped_) +TEST_F(DataRouterTestFixture, TestDifferentCountsOfMessagesDropped) +{ + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + datarouter::DataRouter router(logger, DefaultParserFactory()); + + auto session1_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto sourceSession1 = router.new_source_session( + 1001, "source1", kDefaultDltEnable, std::move(session1_sender), 0., false, 2001, CreateReaderFactory()); + EXPECT_EQ(sourceSession1->tick(), false); + + // Set a different value for the dropped messages. + shared_data_.number_of_drops_buffer_full = 7; + + // Call tick again. + EXPECT_EQ(sourceSession1->tick(), false); + router.show_source_statistics(0); +} + +// To test a condition inside the tick() method. +// The condition is: +// if (message_count_dropped_invalid_size_new != message_count_dropped_invalid_size_) +TEST_F(DataRouterTestFixture, TestDifferentCountsOfInvalidSizeMessagesDropped) +{ + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + datarouter::DataRouter router(logger, DefaultParserFactory()); + + auto session1_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto sourceSession1 = router.new_source_session( + 1001, "source1", kDefaultDltEnable, std::move(session1_sender), 0., false, 2001, CreateReaderFactory()); + EXPECT_EQ(sourceSession1->tick(), false); + + // Set a different value for the dropped messages. + shared_data_.number_of_drops_invalid_size = 7; + + // Call tick again. + EXPECT_EQ(sourceSession1->tick(), false); + router.show_source_statistics(0); +} + +TEST(DataRouterTest, QuotaValueAsStringMethodShallReturnunlimitedIfTheQuotaIsBiggerThanOrEqualToTheMax) +{ + auto expected_result{"[unlimited]"}; + double quota{}; + auto string_representative = datarouter::QuotaValueAsString(std::numeric_limits::max()); + EXPECT_EQ(string_representative, expected_result); +} + +TEST_F(DataRouterTestFixture, CreatingNewSessionShallFailIfTheFileDescriptorIsZero) +{ + testing::StrictMock anyHandler; + testing::StrictMock typeHandler; + auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); + auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { + return std::make_unique( + nv_config_local, + std::vector{&anyHandler}, + std::vector{{"test::TestMessage", &typeHandler}}); + }; + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + + datarouter::DataRouter router(logger, parserFactory); + + auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto src_session = + router.new_source_session(0, "src1", kDefaultDltEnable, std::move(session_sender), 0., false, 2001); + EXPECT_EQ(src_session, nullptr); +} + +// This test is to cover the conditions of using the default stack and ring sizes in case of providing zeros, +// There is no expectation or assertion we can set to check the usage of the default stack and ring size. +TEST_F(DataRouterTestFixture, TestUsingTheDefaultStackAndRingSizesIfTheUserProvidesZeros) +{ + int sourceCallbackCount = 0; + auto parserFactory = [&sourceCallbackCount]() -> std::unique_ptr { + ++sourceCallbackCount; + auto nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); + return std::make_unique(nv_config); + }; + + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + + datarouter::DataRouter router(logger, parserFactory); +} + +// To test the else case of the below condition and some inner conditions inside it for tick() method. +// The condition is: +// else if ((acquire_requested_ == false) and (enabled_logging_at_server_ == true)) +TEST_F(DataRouterTestFixture, TestSomeConditionsInsideTickMethodWithDisablingDlt) +{ + testing::StrictMock anyHandler; + testing::StrictMock typeHandler; + auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); + auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { + return std::make_unique( + nv_config_local, + std::vector{&anyHandler}, + std::vector{{"test::TestMessage", &typeHandler}}); + }; + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + + datarouter::DataRouter router(logger, parserFactory); + + auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto src_session = router.new_source_session(0, + "DR" /*Datarouter session*/, + false /*disable dlt*/, + std::move(session_sender), + 0., + false, + 2001, + CreateReaderFactory()); + EXPECT_NE(src_session, nullptr); +} + +// To test the True case of the below condition and some inner conditions inside it for +// checkAndSetQuotaEnforcement() method. +// The condition is: +// if (!quotaOverlimitDetected_ && quotaEnforcementEnabled_) +TEST_F(DataRouterTestFixture, TestQuotaOverEnforcementWithZeroTimeDuration) +{ + testing::StrictMock anyHandler; + testing::StrictMock typeHandler; + auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); + auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { + return std::make_unique( + nv_config_local, + std::vector{&anyHandler}, + std::vector{{"test::TestMessage", &typeHandler}}); + }; + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + + datarouter::DataRouter router(logger, parserFactory); + + auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto src_session = router.new_source_session( + 0, "DR", false, std::move(session_sender), 0., true /*Enable quota enforcement*/, 2001, CreateReaderFactory()); + + EXPECT_NE(src_session, nullptr); + EXPECT_EQ(src_session->tick(), false); +} + +// To test the False case of the below condition and some inner conditions inside it for +// checkAndSetQuotaEnforcement() method. +// The condition is: +// if (tstat_in_msec == 0) +TEST_F(DataRouterTestFixture, TestQuotaEnforcementWithTimeDurationBiggerThanZero) +{ + testing::StrictMock anyHandler; + testing::StrictMock typeHandler; + auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); + auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { + return std::make_unique( + nv_config_local, + std::vector{&anyHandler}, + std::vector{{"test::TestMessage", &typeHandler}}); + }; + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + + datarouter::DataRouter router(logger, parserFactory); + + auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto src_session = router.new_source_session( + 0, "DR", false, std::move(session_sender), 0., true /*Enable quota enforcement*/, 2001, CreateReaderFactory()); + // It's not mandatory to be 10 ms, it's safe and shouldn't cause any flakiness, we only need to guarantee + // a difference in the time between the instantiation of the 'SourceSession' instance that created + // by 'new_source_session' method and the invoking of the 'checkAndSetQuotaEnforcement' method to test + // the quota enforcement. + std::this_thread::sleep_for(std::chrono::milliseconds(10)); + + EXPECT_NE(src_session, nullptr); + EXPECT_EQ(src_session->tick(), false); +} + +TEST_F(DataRouterTestFixture, OnSessionDetached) +{ + testing::StrictMock anyHandler; + testing::StrictMock typeHandler; + auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); + auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { + return std::make_unique( + nv_config_local, + std::vector{&anyHandler}, + std::vector{{"test::TestMessage", &typeHandler}}); + }; + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + + datarouter::DataRouter router(logger, parserFactory); + + auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto src_session = + router.new_source_session(0, "DR", false, std::move(session_sender), 0., true, 2001, CreateReaderFactory()); + // It's not mandatory to be 10 ms, it's safe and shouldn't cause any flakiness, we only need to guarantee + // a difference in the time between the instantiation of the 'SourceSession' instance that created + // by 'new_source_session' + std::this_thread::sleep_for(std::chrono::milliseconds(10)); + + ASSERT_NE(src_session, nullptr); + src_session->on_closed_by_peer(); // simulate detached session + EXPECT_EQ(src_session->tick(), false); + + // another tick for already detached session + EXPECT_EQ(src_session->tick(), false); +} + +TEST_F(DataRouterTestFixture, OnSessionDetachedWithError) +{ + testing::StrictMock anyHandler; + testing::StrictMock typeHandler; + auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); + auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { + return std::make_unique( + nv_config_local, + std::vector{&anyHandler}, + std::vector{{"test::TestMessage", &typeHandler}}); + }; + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + + datarouter::DataRouter router(logger, parserFactory); + + auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto src_session = router.new_source_session( + 0, "DR", false, std::move(session_sender), 0., true, 2001, CreateReaderFactoryWithDetachedReader()); + // It's not mandatory to be 10 ms, it's safe and shouldn't cause any flakiness, we only need to guarantee + // a difference in the time between the instantiation of the 'SourceSession' instance that created + // by 'new_source_session' + std::this_thread::sleep_for(std::chrono::milliseconds(10)); + + ASSERT_NE(src_session, nullptr); + src_session->on_closed_by_peer(); // simulate detached session + EXPECT_EQ(src_session->tick(), false); +} + +// To test the True case of the below condition for checkAndSetQuotaEnforcement() method. +// The condition is: +// if (rate_KBps > quota_KBps_) +TEST_F(DataRouterTestFixture, TestQuotaOverLimitationWithTimeDurationBiggerThanZero) +{ + TestMessage message{2345}; + auto type_info = utils::CreateTypeInfo(); + const auto register_result = writer_.TryRegisterType(type_info); + + const auto time_now = score::mw::log::detail::TimePoint::clock::now(); + writer_.AllocAndWrite(time_now, + register_result.value(), + score::common::visitor::logging_serializer::serialize_size(message), + [&message](auto data_span) { + return score::common::visitor::logging_serializer::serialize( + message, data_span.data(), score::mw::log::detail::GetDataSizeAsLength(data_span)); + }); + + shared_data_.writer_detached.store(true); + + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + + datarouter::DataRouter router(logger, DefaultParserFactory()); + + auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto src_session = router.new_source_session(0, + "any app", + false, + std::move(session_sender), + 0. /*zero quota KB*/, + true /*Enable quota enforcement*/, + 2001, + CreateReaderFactory()); + + // It's not mandatory to be 10 ms, it's safe and shouldn't cause any flakiness, we only need to guarantee + // a difference in the time between the instantiation of the 'SourceSession' instance that created + // by 'new_source_session' method and the invoking of the 'checkAndSetQuotaEnforcement' method to test + // the quota over limitation. + std::this_thread::sleep_for(std::chrono::milliseconds(10)); + + EXPECT_NE(src_session, nullptr); + EXPECT_EQ(src_session->tick(), false); + // Call 'tick' again to invoke 'checkAndSetQuotaEnforcement' method after updating total size with the new value. + EXPECT_EQ(src_session->tick(), false); +} + +// To test the True case of the below condition for show_stats() method. +// The condition is: +// if (rate_KBps > quota_KBps_ && quotaEnforcementEnabled_) +TEST_F(DataRouterTestFixture, TestQuotaLimitationWithTimeDurationBiggerThanZeroWithQuotaEnforcementEnabled) +{ + TestMessage message{2345}; + auto type_info = utils::CreateTypeInfo(); + const auto register_result = writer_.TryRegisterType(type_info); + + const auto time_now = score::mw::log::detail::TimePoint::clock::now(); + writer_.AllocAndWrite(time_now, + register_result.value(), + score::common::visitor::logging_serializer::serialize_size(message), + [&message](auto data_span) { + return score::common::visitor::logging_serializer::serialize( + message, data_span.data(), score::mw::log::detail::GetDataSizeAsLength(data_span)); + }); + + shared_data_.writer_detached.store(true); + + auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); + + datarouter::DataRouter router(logger, DefaultParserFactory()); + + auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); + auto src_session = router.new_source_session(0, + "any app", + false, + std::move(session_sender), + 0. /*zero quota KB*/, + true /*Enable quota enforcement*/, + 2001, + CreateReaderFactory()); + + // It's not mandatory to be 10 ms, it's safe and shouldn't cause any flakiness, we only need to guarantee + // a difference in the time between the instantiation of the 'SourceSession' instance that created + // by 'new_source_session' method and the invoking of the 'checkAndSetQuotaEnforcement' method to test + // the quota over limitation. + std::this_thread::sleep_for(std::chrono::milliseconds(10)); + + EXPECT_NE(src_session, nullptr); + EXPECT_EQ(src_session->tick(), false); + // Call 'tick' again to invoke 'checkAndSetQuotaEnforcement' method after updating total size with the new value. + EXPECT_EQ(src_session->tick(), false); + // Calling 'show_source_statistics' method to invoke 'show_stats' method. + router.show_source_statistics(0); +} + +// Basic test fixture for DataRouter with synchronized wrappers +class SynchronizedDataRouterTest : public ::testing::Test +{ + protected: + // Test the synchronized wrapper directly + void TestSynchronizedWrapper() + { + // Create a synchronized wrapper around an int + synchronized sync_value(42); + + // Test the with_lock method for read access + int result = sync_value.with_lock([](const auto& value) { + return value; + }); + EXPECT_EQ(result, 42); + + // Test the with_lock method for write access + sync_value.with_lock([](auto& value) { + value = 100; + }); + + // Verify the value was updated + result = sync_value.with_lock([](const auto& value) { + return value; + }); + EXPECT_EQ(result, 100); + } + + // Test the LocalSubscriberData synchronization + void TestLocalSubscriberDataSync() + { + synchronized local_data( + score::platform::datarouter::LocalSubscriberData{}); + + local_data.with_lock([](auto& data) { + data.detach_on_closed_processed = true; + }); + + bool result = local_data.with_lock([](const auto& data) { + return data.detach_on_closed_processed; + }); + + EXPECT_TRUE(result); + } + + void TestCommandDataSync() + { + synchronized cmd_data(score::platform::datarouter::CommandData{}); + + cmd_data.with_lock([](auto& cmd) { + cmd.command_detach_on_closed = true; + }); + + bool result = cmd_data.with_lock([](const auto& cmd) { + return cmd.command_detach_on_closed; + }); + + EXPECT_TRUE(result); + } + + // Test StatsData synchronization + void TestStatsDataSync() + { + // Direct initialization instead of {} + synchronized stats(score::platform::datarouter::StatsData{}); + + // Set and update message count + stats.with_lock([](auto& s) { + s.message_count = 10; + }); + + stats.with_lock([](auto& s) { + s.message_count += 5; + }); + + uint64_t result = stats.with_lock([](const auto& s) { + return s.message_count; + }); + + EXPECT_EQ(result, 15); + } +}; + +// Test the synchronized wrapper template +TEST_F(SynchronizedDataRouterTest, TestSynchronizedWrapperTemplate) +{ + TestSynchronizedWrapper(); +} + +// Test LocalSubscriberData synchronization +TEST_F(SynchronizedDataRouterTest, TestLocalSubscriberDataSynchronization) +{ + TestLocalSubscriberDataSync(); +} + +// Test CommandData synchronization +TEST_F(SynchronizedDataRouterTest, TestCommandDataSynchronization) +{ + TestCommandDataSync(); +} + +// Test StatsData synchronization +TEST_F(SynchronizedDataRouterTest, TestStatsDataSynchronization) +{ + TestStatsDataSync(); +} + +// Test for thread safety with multiple threads accessing a synchronized wrapper +TEST_F(SynchronizedDataRouterTest, TestThreadSafety) +{ + synchronized counter(0); + const int num_threads = 10; + const int increments_per_thread = 1000; + + std::vector threads; + + // Create multiple threads that increment the counter + for (int i = 0; i < num_threads; ++i) + { + threads.push_back(std::thread([&counter]() noexcept { + for (int j = 0; j < increments_per_thread; ++j) + { + counter.with_lock([](auto& value) { + ++value; + }); + } + })); + } + + // Wait for all threads to complete + for (auto& thread : threads) + { + thread.join(); + } + + // Verify the counter has been incremented correctly + int result = counter.with_lock([](auto& value) { + return value; + }); + + EXPECT_EQ(result, num_threads * increments_per_thread); +} + +} // namespace datarouter +} // namespace platform +} // namespace score diff --git a/score/datarouter/test/ut/test_socketserver.cpp b/score/datarouter/test/ut/test_socketserver.cpp new file mode 100644 index 00000000..a5243efe --- /dev/null +++ b/score/datarouter/test/ut/test_socketserver.cpp @@ -0,0 +1,594 @@ +#include "score/datarouter/include/daemon/socketserver.h" + +#include "score/concurrency/thread_pool.h" +#include "score/os/mocklib/fcntl_mock.h" +#include "score/os/mocklib/mock_pthread.h" +#include "score/os/mocklib/socketmock.h" +#include "score/os/mocklib/sys_poll_mock.h" +#include "score/os/mocklib/unistdmock.h" +#include "score/mw/log/configuration/nvconfigfactory.h" +#include "score/mw/log/detail/data_router/data_router_messages.h" +#include "score/mw/log/detail/data_router/shared_memory/reader_factory_mock.h" +#include "score/mw/log/detail/data_router/shared_memory/shared_memory_reader_mock.h" +#include "score/mw/log/logger.h" +#include "score/datarouter/daemon_communication/session_handle_mock.h" +#include "score/datarouter/datarouter/data_router.h" +#include "score/datarouter/include/daemon/dlt_log_server.h" +#include "score/datarouter/include/logparser/logparser.h" +#include "score/datarouter/src/persistency/i_persistent_dictionary.h" +#include "score/datarouter/src/persistency/stub_persistent_dictionary/stub_persistent_dictionary.h" +#if defined(PERSISTENT_CONFIG_FEATURE_ENABLED) +#include "score/datarouter/src/persistency/ara_per_persistent_dictionary/ara_per_persistent_dictionary.h" +#endif + +#include +#include + +#include +#include +#include +#include +#include + +using ::testing::_; +using ::testing::ByMove; +using ::testing::Return; +using ::testing::StrictMock; + +namespace +{ + +class SocketServerThreadNameFixture : public ::testing::Test +{ + protected: + StrictMock pthread_mock_{}; + + void SetUp() override + { + score::os::Pthread::set_testing_instance(pthread_mock_); + } + + void TearDown() override + { + score::os::Pthread::restore_instance(); + } +}; + +class InMemoryPersistentDictionary final : public score::platform::datarouter::IPersistentDictionary +{ + public: + std::string getString(const std::string& key, const std::string& defaultValue) override + { + const auto it = string_values_.find(key); + return it == string_values_.end() ? defaultValue : it->second; + } + + bool getBool(const std::string& key, const bool defaultValue) override + { + const auto it = bool_values_.find(key); + return it == bool_values_.end() ? defaultValue : it->second; + } + + void setString(const std::string& key, const std::string& value) override + { + string_values_[key] = value; + } + + void setBool(const std::string& key, const bool value) override + { + bool_values_[key] = value; + } + + private: + std::unordered_map string_values_{}; + std::unordered_map bool_values_{}; +}; + +std::string GetTestDataPath(const std::string& relative_path) +{ + const char* test_srcdir = std::getenv("TEST_SRCDIR"); + const char* test_workspace = std::getenv("TEST_WORKSPACE"); + if (test_srcdir == nullptr || test_workspace == nullptr) + { + return relative_path; + } + return std::string(test_srcdir) + "/" + test_workspace + "/" + relative_path; +} + +} // namespace + +TEST_F(SocketServerThreadNameFixture, SetThreadNameSuccess) +{ + EXPECT_CALL(pthread_mock_, self()).WillOnce(Return(pthread_t{})); + EXPECT_CALL(pthread_mock_, setname_np(::testing::_, ::testing::StrEq("socketserver"))) + .WillOnce(Return(score::cpp::blank{})); + + score::platform::datarouter::SocketServer::SetThreadName(); +} + +TEST_F(SocketServerThreadNameFixture, SetThreadNameFailureIsHandled) +{ + EXPECT_CALL(pthread_mock_, self()).WillOnce(Return(pthread_t{})); + EXPECT_CALL(pthread_mock_, setname_np(::testing::_, ::testing::StrEq("socketserver"))) + .WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createFromErrno(EINVAL)))); + + score::platform::datarouter::SocketServer::SetThreadName(); +} + +TEST(SocketServerStatisticsLoggerTest, CreateStatisticsLoggerUsesStatContext) +{ + score::mw::log::Logger& logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); + + EXPECT_EQ(logger.GetContext(), std::string_view{"STAT"}); +} + +TEST(SocketServerPersistentDictionaryTest, CreatePersistentDictionaryNoAdaptiveReturnsStub) +{ + auto dictionary = score::platform::datarouter::SocketServer::CreatePersistentDictionary(true); + + ASSERT_NE(dictionary, nullptr); + EXPECT_NE(dynamic_cast(dictionary.get()), nullptr); +} + +#if !defined(PERSISTENT_CONFIG_FEATURE_ENABLED) +TEST(SocketServerPersistentDictionaryTest, CreatePersistentDictionaryAdaptiveReturnsStub) +{ + auto dictionary = score::platform::datarouter::SocketServer::CreatePersistentDictionary(false); + + ASSERT_NE(dictionary, nullptr); + EXPECT_NE(dynamic_cast(dictionary.get()), nullptr); +} +#endif + +TEST(SocketServerPersistentStorageHandlersTest, CreatePersistentStorageHandlersUsesDefaults) +{ + score::platform::datarouter::StubPersistentDictionary dictionary; + + auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + + EXPECT_TRUE(handlers.is_dlt_enabled); + const auto config = handlers.load_dlt(); + EXPECT_TRUE(config.channels.empty()); +} + +TEST(SocketServerPersistentStorageHandlersTest, StoreDltConfigPersistsData) +{ + InMemoryPersistentDictionary dictionary; + + auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + + score::logging::dltserver::PersistentConfig config{}; + config.filteringEnabled = true; + config.defaultThreshold = score::mw::log::LogLevel::kWarn; + config.channels.emplace("CORE", score::logging::dltserver::PersistentConfig::ChannelDescription{}); + + handlers.store_dlt(config); + + EXPECT_FALSE(dictionary.getString("dltConfig", "").empty()); +} + +TEST(SocketServerStaticConfigTest, LoadStaticConfigParsesChannels) +{ + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + + ASSERT_TRUE(config.has_value()); + EXPECT_FALSE(config->channels.empty()); +} + +TEST(SocketServerDltServerTest, CreateDltServerRespectsEnabledFlag) +{ + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + ASSERT_TRUE(config.has_value()); + + score::platform::datarouter::StubPersistentDictionary dictionary; + const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + + auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); + + EXPECT_EQ(dlt_server.GetDltEnabled(), handlers.is_dlt_enabled); + EXPECT_EQ(dlt_server.getQuotaEnforcementEnabled(), config->quotaEnforcementEnabled); +} + +TEST(SocketServerSourceSetupHandlerTest, CreateLogParserFactoryConfiguresParser) +{ + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + ASSERT_TRUE(config.has_value()); + + score::platform::datarouter::StubPersistentDictionary dictionary; + const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); + + auto log_parser_factory = score::platform::datarouter::SocketServer::CreateLogParserFactory(dlt_server); + + // Execute the factory to cover the log parser creation + score::mw::log::NvConfig nv_config({}); + auto parser = log_parser_factory->Create(nv_config); + EXPECT_NE(parser, nullptr); +} + +TEST(SocketServerNvConfigTest, LoadNvConfigReturnsConfig) +{ + score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); + const auto nv_config = score::platform::datarouter::SocketServer::LoadNvConfig(stats_logger); + + EXPECT_EQ(nv_config.GetDltMsgDesc("nonexistent"), nullptr); +} + +TEST(SocketServerNvConfigTest, LoadNvConfigFromFileReturnsDescriptors) +{ + score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/class-id.json"); + + const auto nv_config = score::platform::datarouter::SocketServer::LoadNvConfig(stats_logger, path); + + EXPECT_NE(nv_config.GetDltMsgDesc("TestMsg"), nullptr); +} + +TEST(SocketServerEnableHandlerTest, ConfigureEnableHandlerUpdatesDictionary) +{ + constexpr const char* kOutputEnabledKey = "dltOutputEnabled"; + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + ASSERT_TRUE(config.has_value()); + + InMemoryPersistentDictionary dictionary; + const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); + + score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); + score::platform::datarouter::DataRouter router(stats_logger); + + score::platform::datarouter::SocketServer::ConfigureEnableHandler(router, dictionary, dlt_server); + + dlt_server.SetDltOutputEnable(false); + EXPECT_FALSE(dictionary.getBool(kOutputEnabledKey, true)); + + dlt_server.SetDltOutputEnable(true); + EXPECT_TRUE(dictionary.getBool(kOutputEnabledKey, false)); +} + +TEST(SocketServerEnableHandlerTest, ConfigureEnableHandlerUpdatesParsers) +{ + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + ASSERT_TRUE(config.has_value()); + + InMemoryPersistentDictionary dictionary; + const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); + + score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); + score::platform::datarouter::DataRouter router(stats_logger); + score::mw::log::NvConfig nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); + + auto reader_factory = std::make_unique(); + auto reader = std::make_unique(); + EXPECT_CALL(*reader_factory, Create(_, _)).WillOnce(Return(ByMove(std::move(reader)))); + + auto handle = score::cpp::pmr::make_unique( + score::cpp::pmr::get_default_resource()); + auto session = + router.new_source_session(10, "APP1", true, std::move(handle), 1.0, false, 1234, std::move(reader_factory)); + ASSERT_NE(session, nullptr); + + score::platform::datarouter::SocketServer::ConfigureEnableHandler(router, dictionary, dlt_server); + + dlt_server.SetDltOutputEnable(false); + dlt_server.SetDltOutputEnable(true); +} + +TEST(SocketServerUnixDomainServerTest, CreateUnixDomainServerReturnsInstance) +{ + score::os::SocketMock socket_mock; + score::os::SysPollMock sys_poll_mock; + + score::os::Socket::set_testing_instance(socket_mock); + score::os::SysPoll::set_testing_instance(sys_poll_mock); + + EXPECT_CALL(socket_mock, socket(_, _, _)).WillRepeatedly(Return(30)); + EXPECT_CALL(socket_mock, bind(_, _, _)).WillRepeatedly(Return(score::cpp::blank{})); + EXPECT_CALL(socket_mock, listen(_, _)).WillRepeatedly(Return(score::cpp::blank{})); + EXPECT_CALL(sys_poll_mock, poll(_, _, _)).WillRepeatedly([](struct pollfd* in_pollfd, nfds_t, int) { + in_pollfd[0].revents = 0; + return 0; + }); + + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + ASSERT_TRUE(config.has_value()); + + score::platform::datarouter::StubPersistentDictionary dictionary; + const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); + + auto server = score::platform::datarouter::SocketServer::CreateUnixDomainServer(dlt_server); + ASSERT_NE(server, nullptr); + std::this_thread::sleep_for(std::chrono::milliseconds(20)); + + server.reset(); + std::this_thread::sleep_for(std::chrono::milliseconds(20)); + + score::os::Socket::restore_instance(); + score::os::SysPoll::restore_instance(); +} + +TEST(SocketServerUnixDomainServerTest, CreateUnixDomainSessionReturnsInstance) +{ + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + ASSERT_TRUE(config.has_value()); + + score::platform::datarouter::StubPersistentDictionary dictionary; + const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); + + auto session = score::platform::datarouter::SocketServer::CreateUnixDomainSession( + dlt_server, "APP1", score::platform::internal::UnixDomainServer::SessionHandle{1}); + + EXPECT_NE(session, nullptr); +} + +TEST(SocketServerUnixDomainServerTest, CreateUnixDomainSessionFactoryCreatesSession) +{ + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + ASSERT_TRUE(config.has_value()); + + score::platform::datarouter::StubPersistentDictionary dictionary; + const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); + + auto factory = score::platform::datarouter::SocketServer::CreateUnixDomainSessionFactory(dlt_server); + auto session = factory("APP2", score::platform::internal::UnixDomainServer::SessionHandle{2}); + + EXPECT_NE(session, nullptr); +} + +TEST(SocketServerSharedMemoryFileNameTest, ResolveSharedMemoryFileNameStatic) +{ + score::mw::log::detail::ConnectMessageFromClient conn; + conn.SetUseDynamicIdentifier(false); + conn.SetUid(42); + conn.SetAppId(score::mw::log::detail::LoggingIdentifier{"APP1"}); + + const std::string file_name = score::platform::datarouter::SocketServer::ResolveSharedMemoryFileName(conn, "APP1"); + + EXPECT_EQ(file_name, "/tmp/logging.APP1.42.shmem"); +} + +TEST(SocketServerSharedMemoryFileNameTest, ResolveSharedMemoryFileNameDynamic) +{ + score::mw::log::detail::ConnectMessageFromClient conn; + conn.SetUseDynamicIdentifier(true); + conn.SetRandomPart({'a', 'b', 'c', 'd', 'e', 'f'}); + conn.SetAppId(score::mw::log::detail::LoggingIdentifier{"APP2"}); + + const std::string file_name = score::platform::datarouter::SocketServer::ResolveSharedMemoryFileName(conn, "APP2"); + + EXPECT_EQ(file_name, "/tmp/logging-abcdef.shmem"); +} + +TEST(SocketServerMessagePassingServerTest, CreateMessagePassingServerReturnsInstance) +{ + score::os::FcntlMock fcntl_mock; + score::os::UnistdMock unistd_mock; + + score::os::Fcntl::set_testing_instance(fcntl_mock); + score::os::Unistd::set_testing_instance(unistd_mock); + + EXPECT_CALL(fcntl_mock, open(_, _)) + .WillRepeatedly(Return(score::cpp::make_unexpected(score::os::Error::createFromErrno(EACCES)))); + EXPECT_CALL(unistd_mock, close(_)).WillRepeatedly(Return(score::cpp::blank{})); + + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + ASSERT_TRUE(config.has_value()); + + score::platform::datarouter::StubPersistentDictionary dictionary; + const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); + + score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); + score::platform::datarouter::DataRouter router(stats_logger); + score::mw::log::NvConfig nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); + score::concurrency::ThreadPool executor{1}; + + auto mp_server = + score::platform::datarouter::SocketServer::CreateMessagePassingServer(executor, router, dlt_server, nv_config); + + ASSERT_NE(mp_server, nullptr); + + score::os::Fcntl::restore_instance(); + score::os::Unistd::restore_instance(); +} + +TEST(SocketServerMessagePassingSessionTest, CreateMessagePassingSessionReturnsNullOnOpenFailure) +{ + score::os::FcntlMock fcntl_mock; + score::os::UnistdMock unistd_mock; + + score::os::Fcntl::set_testing_instance(fcntl_mock); + score::os::Unistd::set_testing_instance(unistd_mock); + + EXPECT_CALL(fcntl_mock, open(_, _)).WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createFromErrno(EACCES)))); + EXPECT_CALL(unistd_mock, close(_)).Times(0); + + score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); + score::platform::datarouter::DataRouter router(stats_logger); + score::mw::log::NvConfig nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); + + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + ASSERT_TRUE(config.has_value()); + score::platform::datarouter::StubPersistentDictionary dictionary; + const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); + + score::mw::log::detail::ConnectMessageFromClient conn; + conn.SetUseDynamicIdentifier(false); + conn.SetUid(10); + conn.SetAppId(score::mw::log::detail::LoggingIdentifier{"APPX"}); + + auto reader_factory = std::make_unique(); + EXPECT_CALL(*reader_factory, Create(_, _)).Times(0); + + auto handle = score::cpp::pmr::make_unique( + score::cpp::pmr::get_default_resource()); + auto session = score::platform::datarouter::SocketServer::CreateMessagePassingSession( + router, dlt_server, nv_config, 123, conn, std::move(handle), std::move(reader_factory)); + + EXPECT_EQ(session, nullptr); + + score::os::Fcntl::restore_instance(); + score::os::Unistd::restore_instance(); +} + +TEST(SocketServerMessagePassingSessionTest, CreateMessagePassingSessionCreatesSourceSession) +{ + score::os::FcntlMock fcntl_mock; + score::os::UnistdMock unistd_mock; + + score::os::Fcntl::set_testing_instance(fcntl_mock); + score::os::Unistd::set_testing_instance(unistd_mock); + + EXPECT_CALL(fcntl_mock, open(_, _)).WillOnce(Return(42)); + EXPECT_CALL(unistd_mock, close(42)).WillOnce(Return(score::cpp::blank{})); + + score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); + score::platform::datarouter::DataRouter router(stats_logger); + score::mw::log::NvConfig nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); + + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + ASSERT_TRUE(config.has_value()); + score::platform::datarouter::StubPersistentDictionary dictionary; + const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); + + score::mw::log::detail::ConnectMessageFromClient conn; + conn.SetUseDynamicIdentifier(false); + conn.SetUid(10); + conn.SetAppId(score::mw::log::detail::LoggingIdentifier{"APPX"}); + + auto reader_factory = std::make_unique(); + auto reader = std::make_unique(); + EXPECT_CALL(*reader_factory, Create(42, 123)).WillOnce(Return(ByMove(std::move(reader)))); + + auto handle = score::cpp::pmr::make_unique( + score::cpp::pmr::get_default_resource()); + auto session = score::platform::datarouter::SocketServer::CreateMessagePassingSession( + router, dlt_server, nv_config, 123, conn, std::move(handle), std::move(reader_factory)); + + EXPECT_NE(session, nullptr); + + score::os::Fcntl::restore_instance(); + score::os::Unistd::restore_instance(); +} + +TEST(SocketServerMessagePassingSessionTest, CreateMessagePassingSessionLogsCloseError) +{ + score::os::FcntlMock fcntl_mock; + score::os::UnistdMock unistd_mock; + + score::os::Fcntl::set_testing_instance(fcntl_mock); + score::os::Unistd::set_testing_instance(unistd_mock); + + EXPECT_CALL(fcntl_mock, open(_, _)).WillOnce(Return(7)); + EXPECT_CALL(unistd_mock, close(7)).WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createFromErrno(EIO)))); + + score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); + score::platform::datarouter::DataRouter router(stats_logger); + score::mw::log::NvConfig nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); + + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + ASSERT_TRUE(config.has_value()); + score::platform::datarouter::StubPersistentDictionary dictionary; + const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); + + score::mw::log::detail::ConnectMessageFromClient conn; + conn.SetUseDynamicIdentifier(true); + conn.SetRandomPart({'x', 'y', 'z', '1', '2', '3'}); + conn.SetAppId(score::mw::log::detail::LoggingIdentifier{"APPX"}); + + auto reader_factory = std::make_unique(); + auto reader = std::make_unique(); + EXPECT_CALL(*reader_factory, Create(7, 77)).WillOnce(Return(ByMove(std::move(reader)))); + + auto handle = score::cpp::pmr::make_unique( + score::cpp::pmr::get_default_resource()); + auto session = score::platform::datarouter::SocketServer::CreateMessagePassingSession( + router, dlt_server, nv_config, 77, conn, std::move(handle), std::move(reader_factory)); + + EXPECT_NE(session, nullptr); + + score::os::Fcntl::restore_instance(); + score::os::Unistd::restore_instance(); +} + +TEST(SocketServerMessagePassingServerTest, CreateMessagePassingSessionFactoryUsesDefaults) +{ + score::os::FcntlMock fcntl_mock; + score::os::UnistdMock unistd_mock; + + score::os::Fcntl::set_testing_instance(fcntl_mock); + score::os::Unistd::set_testing_instance(unistd_mock); + + EXPECT_CALL(fcntl_mock, open(_, _)).WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createFromErrno(EACCES)))); + EXPECT_CALL(unistd_mock, close(_)).Times(0); + + score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); + score::platform::datarouter::DataRouter router(stats_logger); + score::mw::log::NvConfig nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); + + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + ASSERT_TRUE(config.has_value()); + score::platform::datarouter::StubPersistentDictionary dictionary; + const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); + + auto factory = + score::platform::datarouter::SocketServer::CreateMessagePassingSessionFactory(router, dlt_server, nv_config); + + score::mw::log::detail::ConnectMessageFromClient conn; + conn.SetUseDynamicIdentifier(false); + conn.SetUid(5); + conn.SetAppId(score::mw::log::detail::LoggingIdentifier{"APPA"}); + + auto handle = score::cpp::pmr::make_unique( + score::cpp::pmr::get_default_resource()); + auto session = factory(5, conn, std::move(handle)); + + EXPECT_EQ(session, nullptr); + + score::os::Fcntl::restore_instance(); + score::os::Unistd::restore_instance(); +} + +TEST(SocketServerEventLoopTest, RunEventLoopExitsWhenRequested) +{ + const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); + const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); + ASSERT_TRUE(config.has_value()); + + score::platform::datarouter::StubPersistentDictionary dictionary; + const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); + auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); + + score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); + score::platform::datarouter::DataRouter router(stats_logger); + + std::atomic_bool exit_requested{false}; + std::thread worker([&]() { + score::platform::datarouter::SocketServer::RunEventLoop(exit_requested, router, dlt_server, stats_logger); + }); + + std::this_thread::sleep_for(std::chrono::milliseconds(10)); + exit_requested = true; + worker.join(); +} diff --git a/score/datarouter/test/ut/ut_logging/test_socketserver.cpp b/score/datarouter/test/ut/ut_logging/test_socketserver.cpp index da938bb7..d3b122e9 100644 --- a/score/datarouter/test/ut/ut_logging/test_socketserver.cpp +++ b/score/datarouter/test/ut/ut_logging/test_socketserver.cpp @@ -203,7 +203,7 @@ TEST_F(SocketServerCreateDltServerTest, CreateDltServerExecutesSuccessfully) { RecordProperty( "Description", - "Verify CreateDltServer returns correct type and CreateSourceSetupHandler works when DltServer exists"); + "Verify CreateDltServer returns correct type and CreateLogParserFactory works when DltServer exists"); RecordProperty("TestType", "Interface test"); RecordProperty("Verifies", "::score::platform::datarouter::SocketServer::CreateDltServer()"); RecordProperty("DerivationTechnique", "Analysis of boundary values"); @@ -216,24 +216,19 @@ TEST_F(SocketServerCreateDltServerTest, CreateDltServerExecutesSuccessfully) // Verify correct return type: std::unique_ptr EXPECT_TRUE((std::is_same>::value)); - // If DltServer was created successfully, test CreateSourceSetupHandler + // If DltServer was created successfully, test CreateLogParserFactory ASSERT_TRUE(dlt_server != nullptr); - // Call CreateSourceSetupHandler with the created DltServer (lines 144-154) - auto source_setup_handler = SocketServer::CreateSourceSetupHandler(*dlt_server); + // Call CreateLogParserFactory with the created DltServer + auto log_parser_factory = SocketServer::CreateLogParserFactory(*dlt_server); - // Verify correct return type - EXPECT_TRUE((std::is_same::value)); + // Verify the factory was created (not null) + EXPECT_NE(log_parser_factory, nullptr); - // Verify the lambda was created (not null) - EXPECT_TRUE(static_cast(source_setup_handler)); - - // Execute the lambda to cover the handler provider - std::vector global_handlers; - std::vector type_handlers; - source_setup_handler(global_handlers, type_handlers); - EXPECT_FALSE(global_handlers.empty()); - EXPECT_FALSE(type_handlers.empty()); + // Execute the factory to cover the log parser creation + score::mw::log::NvConfig nv_config({}); + auto parser = log_parser_factory->Create(nv_config); + EXPECT_NE(parser, nullptr); } TEST_F(SocketServerCreateDltServerTest, CreateDltServerReturnsNullOnConfigError) @@ -372,8 +367,8 @@ TEST_F(SocketServerRemainingFunctionsTest, CreateEnableHandlerCreatesCallbackSuc // Create a minimal DataRouter score::mw::log::Logger& logger = score::mw::log::CreateLogger("TEST", "test"); - const auto source_setup = SocketServer::CreateSourceSetupHandler(*dlt_server); - DataRouter router(logger, source_setup); + auto log_parser_factory = SocketServer::CreateLogParserFactory(*dlt_server); + DataRouter router(logger, std::move(log_parser_factory)); // Expect writeDltEnabled to be called when the handler lambda executes EXPECT_CALL(*dynamic_cast(mock_pd_.get()), SetBool(kConfigOutputEnabledKey, _)).Times(1); @@ -474,8 +469,8 @@ TEST_F(SocketServerRemainingFunctionsTest, CreateMessagePassingSessionErrorPath) // Create DataRouter score::mw::log::Logger& logger = score::mw::log::CreateLogger("TEST", "test"); - const auto source_setup = SocketServer::CreateSourceSetupHandler(*dlt_server); - DataRouter router(logger, source_setup); + auto log_parser_factory = SocketServer::CreateLogParserFactory(*dlt_server); + DataRouter router(logger, std::move(log_parser_factory)); // Load NvConfig const auto nv_config = SocketServer::LoadNvConfig(logger, test_config_path_); @@ -505,8 +500,8 @@ TEST_F(SocketServerRemainingFunctionsTest, CreateMessagePassingSessionSuccessPat // Create DataRouter score::mw::log::Logger& logger = score::mw::log::CreateLogger("TEST", "test"); - const auto source_setup = SocketServer::CreateSourceSetupHandler(*dlt_server); - DataRouter router(logger, source_setup); + auto log_parser_factory = SocketServer::CreateLogParserFactory(*dlt_server); + DataRouter router(logger, std::move(log_parser_factory)); // Load NvConfig const auto nv_config = SocketServer::LoadNvConfig(logger, test_config_path_); @@ -551,8 +546,8 @@ TEST_F(SocketServerRemainingFunctionsTest, CreateMessagePassingSessionCloseFailu // Create DataRouter score::mw::log::Logger& logger = score::mw::log::CreateLogger("TEST", "test"); - const auto source_setup = SocketServer::CreateSourceSetupHandler(*dlt_server); - DataRouter router(logger, source_setup); + auto log_parser_factory = SocketServer::CreateLogParserFactory(*dlt_server); + DataRouter router(logger, std::move(log_parser_factory)); // Load NvConfig const auto nv_config = SocketServer::LoadNvConfig(logger, test_config_path_); From a2531ed3b0445429ebeb72da752bc915efd9bb08 Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Thu, 2 Apr 2026 08:05:04 +0200 Subject: [PATCH 31/49] Datarouter: optimize handlers calls in socketserver GIT_ORIGIN_SPP_REV_ID: 4155aa92f76cdb79584080bd58d94d589d61fe6e --- score/datarouter/datarouter/data_router.h | 5 +-- .../include/daemon/dlt_log_server.h | 8 +--- .../datarouter/include/daemon/socketserver.h | 7 ---- score/datarouter/src/daemon/socketserver.cpp | 40 ++++++------------ .../test/ut/ut_logging/test_dltserver.cpp | 4 +- .../test/ut/ut_logging/test_socketserver.cpp | 42 ------------------- 6 files changed, 17 insertions(+), 89 deletions(-) diff --git a/score/datarouter/datarouter/data_router.h b/score/datarouter/datarouter/data_router.h index c21f2be3..26f6b857 100644 --- a/score/datarouter/datarouter/data_router.h +++ b/score/datarouter/datarouter/data_router.h @@ -108,17 +108,14 @@ class DataRouter score::mw::log::detail::ReaderFactoryPtr reader_factory = score::mw::log::detail::ReaderFactory::Default(score::cpp::pmr::get_default_resource())); - template - void ForEachSourceParser(E e, F f, bool enable_logging_client) + void ForEachSource(bool enable_logging_client) { std::lock_guard lock(subscriber_mutex_); for (const auto& source_session : sources_) { // No need for the extra lock - synchronization is handled by the Synchronized wrapper source_session->SetLoggingClientEnabled(enable_logging_client); - e(source_session->GetParser()); } - f(); } void ShowSourceStatistics(uint16_t series_num); diff --git a/score/datarouter/include/daemon/dlt_log_server.h b/score/datarouter/include/daemon/dlt_log_server.h index a0fb467b..219eeb2f 100644 --- a/score/datarouter/include/daemon/dlt_log_server.h +++ b/score/datarouter/include/daemon/dlt_log_server.h @@ -112,12 +112,6 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut {kFileTransferTypeName, &fthandler_}}; } - void UpdateHandlers(ILogParser& /* parser */, bool /* enabled */) - { - // No-op: handlers are registered unconditionally at LogParser construction and check - // IsOutputEnabled() at dispatch time. This eliminates the cross-thread - // mutation of parser handler lists that caused SIGABRT (Ticket-254408). - } // LCOV_EXCL_STOP void SetEnabledCallback(EnabledCallback enabled_callback = EnabledCallback()) @@ -125,7 +119,7 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut enabled_callback_ = enabled_callback; } - void UpdateHandlersFinal(bool enabled) + void SetDltOutputEnabled(bool enabled) { dlt_output_enabled_.store(enabled, std::memory_order_release); } diff --git a/score/datarouter/include/daemon/socketserver.h b/score/datarouter/include/daemon/socketserver.h index 725fb787..dd21ad9c 100644 --- a/score/datarouter/include/daemon/socketserver.h +++ b/score/datarouter/include/daemon/socketserver.h @@ -93,13 +93,6 @@ class SocketServer static std::unique_ptr CreateLogParserFactory( score::logging::dltserver::DltLogServer& dlt_server); - // Static helper functions for testing lambda bodies - static void UpdateParserHandlers(score::logging::dltserver::DltLogServer& dlt_server, - score::platform::internal::ILogParser& parser, - bool enable); - - static void UpdateHandlersFinal(score::logging::dltserver::DltLogServer& dlt_server, bool enable); - static std::unique_ptr CreateConfigSession( score::logging::dltserver::DltLogServer& dlt_server, score::platform::internal::UnixDomainServer::SessionHandle handle); diff --git a/score/datarouter/src/daemon/socketserver.cpp b/score/datarouter/src/daemon/socketserver.cpp index 96332308..4fc32444 100644 --- a/score/datarouter/src/daemon/socketserver.cpp +++ b/score/datarouter/src/daemon/socketserver.cpp @@ -180,20 +180,6 @@ std::unique_ptr SocketServer::Crea return std::make_unique(dlt_server); } -// Static helper: Update handlers for each parser -void SocketServer::UpdateParserHandlers(score::logging::dltserver::DltLogServer& dlt_server, - score::platform::internal::ILogParser& parser, - bool enable) -{ - dlt_server.UpdateHandlers(parser, enable); -} - -// Static helper: Final update after all parsers processed -void SocketServer::UpdateHandlersFinal(score::logging::dltserver::DltLogServer& dlt_server, bool enable) -{ - dlt_server.UpdateHandlersFinal(enable); -} - // Static helper: Create a new config session from Unix domain handle std::unique_ptr SocketServer::CreateConfigSession( score::logging::dltserver::DltLogServer& dlt_server, @@ -233,17 +219,17 @@ std::function SocketServer::CreateEnableHandler(DataRouter& router, std::cerr << "DRCMD enable callback called with " << enable << std::endl; score::mw::log::LogWarn() << "Changing output enable to " << enable; WriteDltEnabled(enable, persistent_dictionary); - router.ForEachSourceParser( - std::bind(&SocketServer::UpdateParserHandlers, std::ref(dlt_server), std::placeholders::_1, enable), - std::bind(&SocketServer::UpdateHandlersFinal, std::ref(dlt_server), enable), - enable); + router.ForEachSource(enable); + dlt_server.SetDltOutputEnabled(enable); }; } std::unique_ptr SocketServer::CreateUnixDomainServer( score::logging::dltserver::DltLogServer& dlt_server) { - const auto factory = std::bind(&SocketServer::CreateConfigSession, std::ref(dlt_server), std::placeholders::_2); + const auto factory = [&dlt_server](const std::string& /*name*/, UnixDomainServer::SessionHandle handle) { + return SocketServer::CreateConfigSession(dlt_server, std::move(handle)); + }; const UnixDomainSockAddr addr(score::logging::config::kSocketAddress, true); /* @@ -382,14 +368,14 @@ void SocketServer::DoWork(const std::atomic_bool& exit_requested, const bool no_ // Load NvConfig const score::mw::log::NvConfig nv_config = LoadNvConfig(stats_logger); - // Create message passing factory using std::bind directly - const auto mp_factory = std::bind(&SocketServer::CreateMessagePassingSession, - std::ref(router), - std::ref(*dlt_server), - std::ref(nv_config), - std::placeholders::_1, // client_pid - std::placeholders::_2, // conn - std::placeholders::_3); // handle + // Create message passing factory + const auto mp_factory = [&router, &dlt_server, &nv_config]( + const pid_t client_pid, + const score::mw::log::detail::ConnectMessageFromClient& conn, + score::cpp::pmr::unique_ptr handle) { + return SocketServer::CreateMessagePassingSession( + router, *dlt_server, nv_config, client_pid, conn, std::move(handle)); + }; std::shared_ptr server_factory = std::make_shared(); std::shared_ptr client_factory = diff --git a/score/datarouter/test/ut/ut_logging/test_dltserver.cpp b/score/datarouter/test/ut/ut_logging/test_dltserver.cpp index b6314ce1..39e84a52 100644 --- a/score/datarouter/test/ut/ut_logging/test_dltserver.cpp +++ b/score/datarouter/test/ut/ut_logging/test_dltserver.cpp @@ -999,7 +999,7 @@ TEST_F(DltServerCreatedWithoutConfigFixture, SendFTVerboseAppIdNoCoreChannelExpe dlt_server.SendFtVerbose({}, score::mw::log::LogLevel::kVerbose, app_id, ctx_id, 0U, 100U); } -TEST_F(DltServerCreatedWithoutConfigFixture, UpdateHandlersFinalToTrueExpectDltOutputEnabledFlagTrue) +TEST_F(DltServerCreatedWithoutConfigFixture, SetDltOutputEnabledToTrueExpectDltOutputEnabledFlagTrue) { EXPECT_CALL(read_callback, Call()).Times(0); EXPECT_CALL(write_callback, Call(_)).Times(0); @@ -1007,7 +1007,7 @@ TEST_F(DltServerCreatedWithoutConfigFixture, UpdateHandlersFinalToTrueExpectDltO score::logging::dltserver::DltLogServer::DltLogServerTest dlt_server( s_config, read_callback.AsStdFunction(), write_callback.AsStdFunction(), true); - dlt_server.UpdateHandlersFinal(true); + dlt_server.SetDltOutputEnabled(true); EXPECT_TRUE(dlt_server.GetDltEnabled()); } diff --git a/score/datarouter/test/ut/ut_logging/test_socketserver.cpp b/score/datarouter/test/ut/ut_logging/test_socketserver.cpp index d3b122e9..72b54d2a 100644 --- a/score/datarouter/test/ut/ut_logging/test_socketserver.cpp +++ b/score/datarouter/test/ut/ut_logging/test_socketserver.cpp @@ -384,48 +384,6 @@ TEST_F(SocketServerRemainingFunctionsTest, CreateEnableHandlerCreatesCallbackSuc enable_handler(true); } -TEST_F(SocketServerRemainingFunctionsTest, UpdateParserHandlersExecutesSuccessfully) -{ - RecordProperty("Description", "Verify UpdateParserHandlers static function works correctly"); - RecordProperty("TestType", "Interface test"); - RecordProperty("Verifies", "::score::platform::datarouter::SocketServer::UpdateParserHandlers()"); - RecordProperty("DerivationTechnique", "Error guessing based on knowledge or experience"); - - // Create DltLogServer - auto dlt_server = SocketServer::CreateDltServer(storage_handlers_); - ASSERT_NE(nullptr, dlt_server); - - // Create a LogParser - score::mw::log::INvConfigMock nvconfig_mock; - score::platform::internal::LogParser parser(nvconfig_mock); - - // Call the static helper function - this covers the parser callback lambda body (lines 192-194) - SocketServer::UpdateParserHandlers(*dlt_server, parser, true); - SocketServer::UpdateParserHandlers(*dlt_server, parser, false); - - // If we reach here without crashing, the function executed successfully - SUCCEED(); -} - -TEST_F(SocketServerRemainingFunctionsTest, UpdateHandlersFinalExecutesSuccessfully) -{ - RecordProperty("Description", "Verify UpdateHandlersFinal static function works correctly"); - RecordProperty("TestType", "Interface test"); - RecordProperty("Verifies", "::score::platform::datarouter::SocketServer::UpdateHandlersFinal()"); - RecordProperty("DerivationTechnique", "Error guessing based on knowledge or experience"); - - // Create DltLogServer - auto dlt_server = SocketServer::CreateDltServer(storage_handlers_); - ASSERT_NE(nullptr, dlt_server); - - // Call the static helper function - this covers the final callback lambda body (lines 195-197) - SocketServer::UpdateHandlersFinal(*dlt_server, true); - SocketServer::UpdateHandlersFinal(*dlt_server, false); - - // If we reach here without crashing, the function executed successfully - SUCCEED(); -} - TEST_F(SocketServerRemainingFunctionsTest, CreateConfigSessionExecutesSuccessfully) { RecordProperty("Description", "Verify CreateConfigSession static function works correctly"); From 79b67a6d756ac5b52edc6c0baa3095f066f08f73 Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Thu, 2 Apr 2026 08:32:46 +0200 Subject: [PATCH 32/49] Datarouter: remove duplicated files for tests GIT_ORIGIN_SPP_REV_ID: b7c90782054a6bf63b75aaa07b93fc73c87a4618 --- score/datarouter/test/ut/test_datarouter.cpp | 1187 ----------------- .../datarouter/test/ut/test_socketserver.cpp | 594 --------- 2 files changed, 1781 deletions(-) delete mode 100644 score/datarouter/test/ut/test_datarouter.cpp delete mode 100644 score/datarouter/test/ut/test_socketserver.cpp diff --git a/score/datarouter/test/ut/test_datarouter.cpp b/score/datarouter/test/ut/test_datarouter.cpp deleted file mode 100644 index 5a4bd112..00000000 --- a/score/datarouter/test/ut/test_datarouter.cpp +++ /dev/null @@ -1,1187 +0,0 @@ -#include "score/datarouter/datarouter/data_router.h" - -#include "logparser/logparser.h" -#include "score/os/mocklib/unistdmock.h" -#include "score/mw/log/detail/data_router/shared_memory/reader_factory_mock.h" -#include "score/mw/log/detail/data_router/shared_memory/shared_memory_reader.h" -#include "score/mw/log/detail/data_router/shared_memory/shared_memory_writer.h" -#include "score/datarouter/daemon_communication/session_handle_mock.h" -#include "score/datarouter/test/utils/data_router_test_utils.h" - -#include "score/mw/log/configuration/nvconfig.h" -#include "score/mw/log/configuration/nvconfigfactory.h" - -#include "score/static_reflection_with_serialization/serialization/include/serialization/visit_size.h" - -#include "score/mw/log/detail/data_router/shared_memory/shared_memory_reader_mock.h" - -#include - -#include "gtest/gtest.h" - -using namespace testing; -using namespace test; - -namespace score -{ -namespace platform -{ -namespace datarouter -{ - -class LoggerMock -{ - public: - struct LogStream - { - template - LogStream& operator<<(const T&) - { - return *this; - } - }; - - LogStream LogInfo() - { - return {}; - } - LogStream LogError() - { - return {}; - } - LogStream LogWarning() - { - return {}; - } -}; - -class DataRouter::DataRouterForTest : public DataRouter -{ - public: - using DataRouter::DataRouter; - using DataRouter::SourceSession; -}; - -class DataRouter::DataRouterForTest::SourceSession::SourceSessionForTest : public DataRouter::SourceSession -{ - public: - using DataRouter::SourceSession::execute_send_no_operation; - using DataRouter::SourceSession::is_source_closed; - using DataRouter::SourceSession::on_acquire_response; - using DataRouter::SourceSession::process_detached_logs; - using DataRouter::SourceSession::processAndRouteLogMessages; - using DataRouter::SourceSession::request_acquire; - using DataRouter::SourceSession::schedule_send_check_alive; - using DataRouter::SourceSession::SourceSession; - using DataRouter::SourceSession::tick; - using DataRouter::SourceSession::tryFinalizeAcquisition; - - using DataRouter::SourceSession::command_data_; - using DataRouter::SourceSession::command_send_check_alive_; - using DataRouter::SourceSession::handle_; - using DataRouter::SourceSession::local_subscriber_data_; - using DataRouter::SourceSession::stats_data_; - - SourceSessionForTest(DataRouter& router, - std::unique_ptr reader, - const std::string& name, - const bool is_dlt_enabled, - SessionHandleVariant handle, - const double quota, - bool quota_enforcement_enabled, - score::mw::log::Logger& stats_logger, - std::unique_ptr parser = nullptr) - : SourceSession(router, - std::move(reader), - name, - is_dlt_enabled, - std::move(handle), - quota, - quota_enforcement_enabled, - stats_logger, - std::move(parser)) - { - } -}; - -using namespace score::platform; -using namespace score::platform::internal; -using score::platform::datarouter::CommandData; -using score::platform::datarouter::LocalSubscriberData; -using score::platform::datarouter::StatsData; -using score::platform::datarouter::synchronized; - -class SourceSessionTestFixture : public ::testing::Test -{ - public: - SourceSessionTestFixture() : logger_(score::mw::log::CreateLogger("DRUT", "statistics")), router_(logger_) {} - - public: - void SetUp() override - { - auto sharedMemoryReaderMock = std::make_unique(); - sharedMemoryReaderMock_ = sharedMemoryReaderMock.get(); - score::cpp::pmr::unique_ptr sessionHandleMock = - score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - - auto nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); - auto parser = std::make_unique(nv_config); - - sourceSessionUnderTest_ = std::make_unique( - router_, - std::move(sharedMemoryReaderMock), - "source1", - false, - std::move(sessionHandleMock), - 0, - false, - logger_, - std::move(parser)); - } - - protected: - daemon::mock::SessionHandleMock* SetupMockSessionHandle() - { - auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto* session_sender_ptr = session_sender.get(); - score::cpp::pmr::unique_ptr handle_base(std::move(session_sender)); - sourceSessionUnderTest_->handle_ = std::move(handle_base); - return session_sender_ptr; - } - - score::mw::log::Logger& logger_; - datarouter::DataRouter router_; - score::mw::log::detail::ISharedMemoryReaderMock* sharedMemoryReaderMock_; - - std::unique_ptr sourceSessionUnderTest_; -}; - -TEST_F(SourceSessionTestFixture, TryFinalizeAcquisitionIsBlockReleased) -{ - bool needs_fast_reschedule = true; - - EXPECT_CALL(*sharedMemoryReaderMock_, IsBlockReleasedByWriters(_)).WillOnce(Return(true)); - - // any value except null - sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { - cmd.data_acquired_ = score::mw::log::detail::ReadAcquireResult(); - }); - - EXPECT_TRUE(sourceSessionUnderTest_->tryFinalizeAcquisition(needs_fast_reschedule)); -} - -TEST_F(SourceSessionTestFixture, TryFinalizeAcquisitionIsBlockNotReleased) -{ - bool needs_fast_reschedule = true; - - EXPECT_CALL(*sharedMemoryReaderMock_, IsBlockReleasedByWriters(_)).WillOnce(Return(false)); - - // any value except null - sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { - cmd.data_acquired_ = score::mw::log::detail::ReadAcquireResult(); - }); - - EXPECT_FALSE(sourceSessionUnderTest_->tryFinalizeAcquisition(needs_fast_reschedule)); -} - -TEST_F(SourceSessionTestFixture, ProcessAndRouteLogMessagesAcquireFinalized) -{ - uint64_t message_count_local = 0; - std::chrono::microseconds transport_delay_local = std::chrono::microseconds::zero(); - uint64_t number_of_bytes_in_buffer = 0; - bool acquire_finalized_in_this_tick = true; - bool needs_fast_reschedule = false; - - sourceSessionUnderTest_->processAndRouteLogMessages(message_count_local, - transport_delay_local, - number_of_bytes_in_buffer, - acquire_finalized_in_this_tick, - needs_fast_reschedule); - - // ASSERT_TRUE(sourceSessionUnderTest_->command_data_); - - sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { - EXPECT_FALSE(cmd.acquire_requested); - EXPECT_EQ(cmd.ticks_without_write, 0); - }); -} - -TEST_F(SourceSessionTestFixture, ProcessAndRouteLogMessagesBlockExpectedToBeNextDataAvailable) -{ - uint64_t message_count_local = 0; - std::chrono::microseconds transport_delay_local = std::chrono::microseconds::zero(); - uint64_t number_of_bytes_in_buffer = 0; - bool acquire_finalized_in_this_tick = false; - bool needs_fast_reschedule = false; - - sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { - cmd.acquire_requested = false; - cmd.command_detach_on_closed = false; - cmd.block_expected_to_be_next = 0; - }); - - sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& cmd) { - cmd.enabled_logging_at_server_ = true; - }); - - EXPECT_CALL(*sharedMemoryReaderMock_, PeekNumberOfBytesAcquiredInBuffer(_)).WillOnce(Return(10)); - - sourceSessionUnderTest_->processAndRouteLogMessages(message_count_local, - transport_delay_local, - number_of_bytes_in_buffer, - acquire_finalized_in_this_tick, - needs_fast_reschedule); - - sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { - EXPECT_TRUE(cmd.acquire_requested); - }); - EXPECT_TRUE(needs_fast_reschedule); -} - -TEST_F(SourceSessionTestFixture, ProcessAndRouteLogMessagesBlockExpectedToBeNextDataNotAvailable) -{ - uint64_t message_count_local = 0; - std::chrono::microseconds transport_delay_local = std::chrono::microseconds::zero(); - uint64_t number_of_bytes_in_buffer = 0; - bool acquire_finalized_in_this_tick = false; - bool needs_fast_reschedule = false; - - const uint8_t ticks_without_write = 1; - - sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { - cmd.acquire_requested = false; - cmd.command_detach_on_closed = false; - cmd.block_expected_to_be_next = 0; - cmd.ticks_without_write = ticks_without_write; - }); - sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& cmd) { - cmd.enabled_logging_at_server_ = true; - }); - - EXPECT_CALL(*sharedMemoryReaderMock_, PeekNumberOfBytesAcquiredInBuffer(_)).WillOnce(Return(std::nullopt)); - - sourceSessionUnderTest_->processAndRouteLogMessages(message_count_local, - transport_delay_local, - number_of_bytes_in_buffer, - acquire_finalized_in_this_tick, - needs_fast_reschedule); - - sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { - EXPECT_EQ(cmd.ticks_without_write, ticks_without_write + 1); - }); -} - -TEST_F(SourceSessionTestFixture, ProcessAndRouteLogMessagesNotBlockExpectedToBeNext) -{ - uint64_t message_count_local = 0; - std::chrono::microseconds transport_delay_local = std::chrono::microseconds::zero(); - uint64_t number_of_bytes_in_buffer = 0; - bool acquire_finalized_in_this_tick = false; - bool needs_fast_reschedule = false; - - sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { - cmd.acquire_requested = false; - cmd.command_detach_on_closed = false; - cmd.block_expected_to_be_next = std::nullopt; - }); - sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& cmd) { - cmd.enabled_logging_at_server_ = true; - }); - - sourceSessionUnderTest_->processAndRouteLogMessages(message_count_local, - transport_delay_local, - number_of_bytes_in_buffer, - acquire_finalized_in_this_tick, - needs_fast_reschedule); - - sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { - EXPECT_TRUE(cmd.acquire_requested); - }); - EXPECT_TRUE(needs_fast_reschedule); -} - -TEST_F(SourceSessionTestFixture, RequestAcquire) -{ - UnixDomainServer::SessionHandle session_handle(0, nullptr); - - sourceSessionUnderTest_->handle_ = session_handle; - - // verify that DataRouter::SourceSession is able - // to process UnixDomainServer::SessionHandle type - EXPECT_NO_THROW(sourceSessionUnderTest_->request_acquire()); -} - -TEST_F(SourceSessionTestFixture, ScheduleSendCheckAlive) -{ - RecordProperty("ASIL", "QM"); - RecordProperty("TestType", "Verification of the control flow and data flow"); - RecordProperty("Description", "Verify schedule_send_check_alive sets the check alive flag to true."); - RecordProperty("DerivationTechnique", "Equivalence partitioning"); - - // Initially the flag should be false - EXPECT_FALSE(sourceSessionUnderTest_->command_send_check_alive_.load()); - - // Call the method - sourceSessionUnderTest_->schedule_send_check_alive(); - - // Verify the flag is now true - EXPECT_TRUE(sourceSessionUnderTest_->command_send_check_alive_.load()); -} - -TEST_F(SourceSessionTestFixture, OnAcquireResponse) -{ - sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { - cmd.data_acquired_ = std::nullopt; - }); - - const score::mw::log::detail::ReadAcquireResult readAcquireResult{44}; - sourceSessionUnderTest_->on_acquire_response(readAcquireResult); - - sourceSessionUnderTest_->command_data_.with_lock([&readAcquireResult](auto& cmd) { - ASSERT_TRUE(cmd.data_acquired_); - EXPECT_EQ(cmd.data_acquired_->acquired_buffer, readAcquireResult.acquired_buffer); - }); -} - -TEST_F(SourceSessionTestFixture, ExecuteSendNoOperationWithUnixDomainSocket) -{ - RecordProperty("ASIL", "QM"); - RecordProperty("TestType", "Verification of the control flow and data flow"); - RecordProperty("Description", "Verify execute_send_no_operation is a no-op for Unix domain sockets."); - RecordProperty("DerivationTechnique", "Equivalence partitioning"); - - UnixDomainServer::SessionHandle session_handle(0, nullptr); - sourceSessionUnderTest_->handle_ = session_handle; - - // Should not throw and is a no-op for Unix domain sockets - EXPECT_NO_THROW(sourceSessionUnderTest_->execute_send_no_operation()); -} - -TEST_F(SourceSessionTestFixture, ExecuteSendNoOperationWithSessionHandleMockLoggingDisabled) -{ - RecordProperty("ASIL", "QM"); - RecordProperty("TestType", "Verification of the control flow and data flow"); - RecordProperty("Description", - "Verify execute_send_no_operation with mock session handle when logging is disabled."); - RecordProperty("DerivationTechnique", "Equivalence partitioning"); - - auto* session_sender_ptr = SetupMockSessionHandle(); - - // Set logging disabled - sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& data) { - data.enabled_logging_at_server_ = false; - }); - - // Expect SendCheckAlive to be called when logging is disabled - EXPECT_CALL(*session_sender_ptr, SendCheckAlive()).Times(1); - - sourceSessionUnderTest_->execute_send_no_operation(); -} - -TEST_F(SourceSessionTestFixture, ExecuteSendNoOperationWithSessionHandleMockLoggingEnabled) -{ - RecordProperty("ASIL", "QM"); - RecordProperty("TestType", "Verification of the control flow and data flow"); - RecordProperty("Description", "Verify execute_send_no_operation sends command when logging is enabled."); - RecordProperty("DerivationTechnique", "Equivalence partitioning"); - - auto* session_sender_ptr = SetupMockSessionHandle(); - - // Set logging enabled - sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& data) { - data.enabled_logging_at_server_ = true; - }); - - // Expect SendCheckAlive NOT to be called when logging is enabled - EXPECT_CALL(*session_sender_ptr, SendCheckAlive()).Times(0); - - sourceSessionUnderTest_->execute_send_no_operation(); -} - -TEST_F(SourceSessionTestFixture, TickCallsExecuteSendNoOperationWhenFlagIsSet) -{ - RecordProperty("ASIL", "QM"); - RecordProperty("TestType", "Verification of the control flow and data flow"); - RecordProperty("Description", "Verify tick calls execute_send_no_operation when check alive flag is set."); - RecordProperty("DerivationTechnique", "Equivalence partitioning"); - - auto* session_sender_ptr = SetupMockSessionHandle(); - - // Set logging disabled so SendCheckAlive will be called - sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& data) { - data.enabled_logging_at_server_ = false; - }); - - // Schedule the check alive which sets the flag to true - sourceSessionUnderTest_->schedule_send_check_alive(); - EXPECT_TRUE(sourceSessionUnderTest_->command_send_check_alive_.load()); - - // Expect SendCheckAlive to be called during tick - EXPECT_CALL(*session_sender_ptr, SendCheckAlive()).Times(1); - - // Call tick which should execute_send_no_operation and reset the flag - sourceSessionUnderTest_->tick(); - - // Verify the flag was reset to false after tick - EXPECT_FALSE(sourceSessionUnderTest_->command_send_check_alive_.load()); -} - -TEST_F(SourceSessionTestFixture, TickDoesNotCallExecuteSendNoOperationWhenFlagIsNotSet) -{ - RecordProperty("ASIL", "QM"); - RecordProperty("TestType", "Verification of the control flow and data flow"); - RecordProperty("Description", - "Verify tick does not call execute_send_no_operation when check alive flag is not set."); - RecordProperty("DerivationTechnique", "Equivalence partitioning"); - - auto* session_sender_ptr = SetupMockSessionHandle(); - - // Set logging disabled - sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& data) { - data.enabled_logging_at_server_ = false; - }); - - // Verify flag is initially false - EXPECT_FALSE(sourceSessionUnderTest_->command_send_check_alive_.load()); - - // Expect SendCheckAlive NOT to be called - EXPECT_CALL(*session_sender_ptr, SendCheckAlive()).Times(0); - - // Call tick - should not call execute_send_no_operation - sourceSessionUnderTest_->tick(); - - // Flag should still be false - EXPECT_FALSE(sourceSessionUnderTest_->command_send_check_alive_.load()); -} - -TEST_F(SourceSessionTestFixture, IsSourceClosed) -{ - { - sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& data) { - data.detach_on_closed_processed = false; - }); - - EXPECT_FALSE(sourceSessionUnderTest_->is_source_closed()); - } - { - sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& data) { - data.detach_on_closed_processed = true; - }); - - EXPECT_TRUE(sourceSessionUnderTest_->is_source_closed()); - } -} - -// custom action because InvokeArgument could not work with reference to move-only argument -ACTION(InvokeSharedReadArguments) -{ - arg0(score::mw::log::detail::TypeRegistration()); - arg1(score::mw::log::detail::SharedMemoryRecord()); -} - -TEST_F(SourceSessionTestFixture, ProcessDetachedLogsReaderUsed) -{ - score::mw::log::detail::TypeRegistration tr; - - EXPECT_CALL(*sharedMemoryReaderMock_, ReadDetached(_, _)) - .WillOnce(DoAll(InvokeSharedReadArguments(), Return(std::nullopt))); - - uint64_t number_of_bytes_in_buffer = 0; - sourceSessionUnderTest_->process_detached_logs(number_of_bytes_in_buffer); -} - -TEST_F(SourceSessionTestFixture, ProcessAndRouteLogMessagesQuotaLimitExceeded) -{ - uint64_t message_count_local = 0; - std::chrono::microseconds transport_delay_local = std::chrono::microseconds::zero(); - uint64_t number_of_bytes_in_buffer = 0; - bool acquire_finalized_in_this_tick = false; - bool needs_fast_reschedule = false; - - sourceSessionUnderTest_->command_data_.with_lock([](auto& cmd) { - cmd.acquire_requested = false; - cmd.command_detach_on_closed = false; - cmd.block_expected_to_be_next = std::nullopt; - }); - sourceSessionUnderTest_->local_subscriber_data_.with_lock([](auto& cmd) { - cmd.enabled_logging_at_server_ = true; - }); - - sourceSessionUnderTest_->stats_data_.with_lock([](auto& cmd) { - cmd.quota_overlimit_detected = true; - }); - - EXPECT_CALL(*sharedMemoryReaderMock_, Read(_, _)) - .WillOnce(DoAll(InvokeSharedReadArguments(), Return(std::nullopt))); - - sourceSessionUnderTest_->processAndRouteLogMessages(message_count_local, - transport_delay_local, - number_of_bytes_in_buffer, - acquire_finalized_in_this_tick, - needs_fast_reschedule); -} - -constexpr bool kDefaultDltEnable{true}; -class DataRouterTestFixture : public ::testing::Test -{ - public: - void SetUp() override - { - score::os::Unistd::set_testing_instance(unistd_mock_); - - constexpr auto kBufferSize = UINT64_C(1024); - buffer1_.resize(kBufferSize); - buffer2_.resize(kBufferSize); - shared_data_.control_block.control_block_even.data = {buffer1_.data(), static_cast(kBufferSize)}; - shared_data_.control_block.control_block_odd.data = {buffer2_.data(), static_cast(kBufferSize)}; - } - - void TearDown() override - { - score::os::Unistd::restore_instance(); - } - - score::mw::log::NvConfig nvConfig = score::mw::log::NvConfigFactory::CreateEmpty(); - - datarouter::DataRouter::LogParserFactory DefaultParserFactory() - { - return [this]() -> std::unique_ptr { - return std::make_unique(nvConfig); - }; - } - - score::mw::log::detail::ReaderFactoryPtr CreateReaderFactory() - { - auto factory = std::make_unique(); - EXPECT_CALL(*factory, Create(_, _)).WillOnce([this](auto, auto) -> auto { - return std::make_unique( - shared_data_, - score::mw::log::detail::AlternatingReadOnlyReader{shared_data_.control_block, buffer1_, buffer2_}, - []() noexcept {}); - }); - return factory; - } - - score::mw::log::detail::ReaderFactoryPtr CreateReaderFactoryWithDetachedReader() - { - auto factory = std::make_unique(); - EXPECT_CALL(*factory, Create(_, _)).WillOnce([this](auto, auto) -> auto { - auto reader = std::make_unique( - shared_data_, - score::mw::log::detail::AlternatingReadOnlyReader{shared_data_.control_block, buffer1_, buffer2_}, - []() noexcept {}); - // detach reader to simulate read error on next read - reader->ReadDetached([](const score::mw::log::detail::TypeRegistration&) {}, - [](const score::mw::log::detail::SharedMemoryRecord&) {}); - return reader; - }); - return factory; - } - - score::os::UnistdMock unistd_mock_; - - std::vector buffer1_{}; - std::vector buffer2_{}; - - score::mw::log::detail::SharedData shared_data_{}; - - score::mw::log::detail::SharedMemoryWriter writer_{shared_data_, []() noexcept {}}; -}; - -TEST_F(DataRouterTestFixture, ConstructionAndDestructionOnStack) -{ - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - datarouter::DataRouter router(logger); -} - -TEST_F(DataRouterTestFixture, ConstructionAndDestructionOnHeap) -{ - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - auto unique_datarouter = std::make_unique(logger); - unique_datarouter.reset(); -} - -TEST_F(DataRouterTestFixture, WhenOnlySourceSession) -{ - int sourceCallbackCount = 0; - auto parserFactory = [&sourceCallbackCount]() -> std::unique_ptr { - ++sourceCallbackCount; - auto nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); - return std::make_unique(nv_config); - }; - - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - datarouter::DataRouter router(logger, parserFactory); - - auto session1_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto sourceSession1 = router.new_source_session( - 1001, "source1", kDefaultDltEnable, std::move(session1_sender), 0., false, 2001, CreateReaderFactory()); - EXPECT_EQ(sourceSession1->tick(), false); - router.show_source_statistics(0); - - auto session2_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto sourceSession2 = router.new_source_session( - 1002, "source2", kDefaultDltEnable, std::move(session2_sender), 0., false, 2001, CreateReaderFactory()); - - int sourceListItemCount = 0; - int sourceListEndCount = 0; - auto e = [&](LogParser&) { - ++sourceListItemCount; - }; - auto f = [&] { - ++sourceListEndCount; - }; - constexpr bool enable_dlt_logging{true}; - router.for_each_source_parser(e, f, enable_dlt_logging); - EXPECT_EQ(sourceListItemCount, 2); - EXPECT_EQ(sourceListEndCount, 1); - EXPECT_EQ(sourceCallbackCount, 2); // factory called once per session -} - -struct TestMessage -{ - int32_t testField; -}; - -STRUCT_VISITABLE(TestMessage, testField) - -class AnyHandlerMock : public LogParser::AnyHandler -{ - public: - MOCK_METHOD(void, handle, (const TypeInfo&, timestamp_t, const char*, bufsize_t), (override final)); -}; - -class TypeHandlerMock : public LogParser::TypeHandler -{ - public: - MOCK_METHOD(void, handle, (timestamp_t, const char*, bufsize_t), (override final)); -}; - -TEST_F(DataRouterTestFixture, WhenMessageHandledFromRw) -{ - TestMessage message{2345}; - auto type_info = utils::CreateTypeInfo(); - const auto register_result = writer_.TryRegisterType(type_info); - - writer_.AllocAndWrite( - [&message](auto data_span) { - return score::common::visitor::logging_serializer::serialize( - message, data_span.data(), score::mw::log::detail::GetDataSizeAsLength(data_span)); - }, - register_result.value(), - score::common::visitor::logging_serializer::serialize_size(message)); - - shared_data_.writer_detached.store(true); - - testing::StrictMock anyHandler; - EXPECT_CALL(anyHandler, handle(_, _, _, _)).Times(1); - - testing::StrictMock typeHandler; - EXPECT_CALL(typeHandler, handle(_, _, _)).Times(1); - - auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); - auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { - return std::make_unique( - nv_config_local, - std::vector{&anyHandler}, - std::vector{{"score::platform::datarouter::TestMessage", &typeHandler}}); - }; - - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - datarouter::DataRouter router(logger, parserFactory); - - auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto sourceSession1 = router.new_source_session( - 1001, "source1", kDefaultDltEnable, std::move(session_sender), 0., false, 2001, CreateReaderFactory()); - EXPECT_EQ(sourceSession1->tick(), false); - - int sourceListItemCount = 0; - int sourceListEndCount = 0; - auto e = [&](LogParser& parser) { - std::ignore = parser; - ++sourceListItemCount; - }; - auto f = [&] { - ++sourceListEndCount; - }; - constexpr bool enable_dlt_logging{true}; - router.for_each_source_parser(e, f, enable_dlt_logging); - EXPECT_EQ(sourceListItemCount, 1); - EXPECT_EQ(sourceListEndCount, 1); -} - -// To test a condition inside the tick() method. -// The condition is: -// if (message_count_dropped_new != message_count_dropped_) -TEST_F(DataRouterTestFixture, TestDifferentCountsOfMessagesDropped) -{ - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - datarouter::DataRouter router(logger, DefaultParserFactory()); - - auto session1_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto sourceSession1 = router.new_source_session( - 1001, "source1", kDefaultDltEnable, std::move(session1_sender), 0., false, 2001, CreateReaderFactory()); - EXPECT_EQ(sourceSession1->tick(), false); - - // Set a different value for the dropped messages. - shared_data_.number_of_drops_buffer_full = 7; - - // Call tick again. - EXPECT_EQ(sourceSession1->tick(), false); - router.show_source_statistics(0); -} - -// To test a condition inside the tick() method. -// The condition is: -// if (message_count_dropped_invalid_size_new != message_count_dropped_invalid_size_) -TEST_F(DataRouterTestFixture, TestDifferentCountsOfInvalidSizeMessagesDropped) -{ - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - datarouter::DataRouter router(logger, DefaultParserFactory()); - - auto session1_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto sourceSession1 = router.new_source_session( - 1001, "source1", kDefaultDltEnable, std::move(session1_sender), 0., false, 2001, CreateReaderFactory()); - EXPECT_EQ(sourceSession1->tick(), false); - - // Set a different value for the dropped messages. - shared_data_.number_of_drops_invalid_size = 7; - - // Call tick again. - EXPECT_EQ(sourceSession1->tick(), false); - router.show_source_statistics(0); -} - -TEST(DataRouterTest, QuotaValueAsStringMethodShallReturnunlimitedIfTheQuotaIsBiggerThanOrEqualToTheMax) -{ - auto expected_result{"[unlimited]"}; - double quota{}; - auto string_representative = datarouter::QuotaValueAsString(std::numeric_limits::max()); - EXPECT_EQ(string_representative, expected_result); -} - -TEST_F(DataRouterTestFixture, CreatingNewSessionShallFailIfTheFileDescriptorIsZero) -{ - testing::StrictMock anyHandler; - testing::StrictMock typeHandler; - auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); - auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { - return std::make_unique( - nv_config_local, - std::vector{&anyHandler}, - std::vector{{"test::TestMessage", &typeHandler}}); - }; - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - - datarouter::DataRouter router(logger, parserFactory); - - auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto src_session = - router.new_source_session(0, "src1", kDefaultDltEnable, std::move(session_sender), 0., false, 2001); - EXPECT_EQ(src_session, nullptr); -} - -// This test is to cover the conditions of using the default stack and ring sizes in case of providing zeros, -// There is no expectation or assertion we can set to check the usage of the default stack and ring size. -TEST_F(DataRouterTestFixture, TestUsingTheDefaultStackAndRingSizesIfTheUserProvidesZeros) -{ - int sourceCallbackCount = 0; - auto parserFactory = [&sourceCallbackCount]() -> std::unique_ptr { - ++sourceCallbackCount; - auto nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); - return std::make_unique(nv_config); - }; - - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - - datarouter::DataRouter router(logger, parserFactory); -} - -// To test the else case of the below condition and some inner conditions inside it for tick() method. -// The condition is: -// else if ((acquire_requested_ == false) and (enabled_logging_at_server_ == true)) -TEST_F(DataRouterTestFixture, TestSomeConditionsInsideTickMethodWithDisablingDlt) -{ - testing::StrictMock anyHandler; - testing::StrictMock typeHandler; - auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); - auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { - return std::make_unique( - nv_config_local, - std::vector{&anyHandler}, - std::vector{{"test::TestMessage", &typeHandler}}); - }; - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - - datarouter::DataRouter router(logger, parserFactory); - - auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto src_session = router.new_source_session(0, - "DR" /*Datarouter session*/, - false /*disable dlt*/, - std::move(session_sender), - 0., - false, - 2001, - CreateReaderFactory()); - EXPECT_NE(src_session, nullptr); -} - -// To test the True case of the below condition and some inner conditions inside it for -// checkAndSetQuotaEnforcement() method. -// The condition is: -// if (!quotaOverlimitDetected_ && quotaEnforcementEnabled_) -TEST_F(DataRouterTestFixture, TestQuotaOverEnforcementWithZeroTimeDuration) -{ - testing::StrictMock anyHandler; - testing::StrictMock typeHandler; - auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); - auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { - return std::make_unique( - nv_config_local, - std::vector{&anyHandler}, - std::vector{{"test::TestMessage", &typeHandler}}); - }; - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - - datarouter::DataRouter router(logger, parserFactory); - - auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto src_session = router.new_source_session( - 0, "DR", false, std::move(session_sender), 0., true /*Enable quota enforcement*/, 2001, CreateReaderFactory()); - - EXPECT_NE(src_session, nullptr); - EXPECT_EQ(src_session->tick(), false); -} - -// To test the False case of the below condition and some inner conditions inside it for -// checkAndSetQuotaEnforcement() method. -// The condition is: -// if (tstat_in_msec == 0) -TEST_F(DataRouterTestFixture, TestQuotaEnforcementWithTimeDurationBiggerThanZero) -{ - testing::StrictMock anyHandler; - testing::StrictMock typeHandler; - auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); - auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { - return std::make_unique( - nv_config_local, - std::vector{&anyHandler}, - std::vector{{"test::TestMessage", &typeHandler}}); - }; - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - - datarouter::DataRouter router(logger, parserFactory); - - auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto src_session = router.new_source_session( - 0, "DR", false, std::move(session_sender), 0., true /*Enable quota enforcement*/, 2001, CreateReaderFactory()); - // It's not mandatory to be 10 ms, it's safe and shouldn't cause any flakiness, we only need to guarantee - // a difference in the time between the instantiation of the 'SourceSession' instance that created - // by 'new_source_session' method and the invoking of the 'checkAndSetQuotaEnforcement' method to test - // the quota enforcement. - std::this_thread::sleep_for(std::chrono::milliseconds(10)); - - EXPECT_NE(src_session, nullptr); - EXPECT_EQ(src_session->tick(), false); -} - -TEST_F(DataRouterTestFixture, OnSessionDetached) -{ - testing::StrictMock anyHandler; - testing::StrictMock typeHandler; - auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); - auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { - return std::make_unique( - nv_config_local, - std::vector{&anyHandler}, - std::vector{{"test::TestMessage", &typeHandler}}); - }; - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - - datarouter::DataRouter router(logger, parserFactory); - - auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto src_session = - router.new_source_session(0, "DR", false, std::move(session_sender), 0., true, 2001, CreateReaderFactory()); - // It's not mandatory to be 10 ms, it's safe and shouldn't cause any flakiness, we only need to guarantee - // a difference in the time between the instantiation of the 'SourceSession' instance that created - // by 'new_source_session' - std::this_thread::sleep_for(std::chrono::milliseconds(10)); - - ASSERT_NE(src_session, nullptr); - src_session->on_closed_by_peer(); // simulate detached session - EXPECT_EQ(src_session->tick(), false); - - // another tick for already detached session - EXPECT_EQ(src_session->tick(), false); -} - -TEST_F(DataRouterTestFixture, OnSessionDetachedWithError) -{ - testing::StrictMock anyHandler; - testing::StrictMock typeHandler; - auto nv_config_local = score::mw::log::NvConfigFactory::CreateEmpty(); - auto parserFactory = [&anyHandler, &typeHandler, &nv_config_local]() -> std::unique_ptr { - return std::make_unique( - nv_config_local, - std::vector{&anyHandler}, - std::vector{{"test::TestMessage", &typeHandler}}); - }; - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - - datarouter::DataRouter router(logger, parserFactory); - - auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto src_session = router.new_source_session( - 0, "DR", false, std::move(session_sender), 0., true, 2001, CreateReaderFactoryWithDetachedReader()); - // It's not mandatory to be 10 ms, it's safe and shouldn't cause any flakiness, we only need to guarantee - // a difference in the time between the instantiation of the 'SourceSession' instance that created - // by 'new_source_session' - std::this_thread::sleep_for(std::chrono::milliseconds(10)); - - ASSERT_NE(src_session, nullptr); - src_session->on_closed_by_peer(); // simulate detached session - EXPECT_EQ(src_session->tick(), false); -} - -// To test the True case of the below condition for checkAndSetQuotaEnforcement() method. -// The condition is: -// if (rate_KBps > quota_KBps_) -TEST_F(DataRouterTestFixture, TestQuotaOverLimitationWithTimeDurationBiggerThanZero) -{ - TestMessage message{2345}; - auto type_info = utils::CreateTypeInfo(); - const auto register_result = writer_.TryRegisterType(type_info); - - const auto time_now = score::mw::log::detail::TimePoint::clock::now(); - writer_.AllocAndWrite(time_now, - register_result.value(), - score::common::visitor::logging_serializer::serialize_size(message), - [&message](auto data_span) { - return score::common::visitor::logging_serializer::serialize( - message, data_span.data(), score::mw::log::detail::GetDataSizeAsLength(data_span)); - }); - - shared_data_.writer_detached.store(true); - - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - - datarouter::DataRouter router(logger, DefaultParserFactory()); - - auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto src_session = router.new_source_session(0, - "any app", - false, - std::move(session_sender), - 0. /*zero quota KB*/, - true /*Enable quota enforcement*/, - 2001, - CreateReaderFactory()); - - // It's not mandatory to be 10 ms, it's safe and shouldn't cause any flakiness, we only need to guarantee - // a difference in the time between the instantiation of the 'SourceSession' instance that created - // by 'new_source_session' method and the invoking of the 'checkAndSetQuotaEnforcement' method to test - // the quota over limitation. - std::this_thread::sleep_for(std::chrono::milliseconds(10)); - - EXPECT_NE(src_session, nullptr); - EXPECT_EQ(src_session->tick(), false); - // Call 'tick' again to invoke 'checkAndSetQuotaEnforcement' method after updating total size with the new value. - EXPECT_EQ(src_session->tick(), false); -} - -// To test the True case of the below condition for show_stats() method. -// The condition is: -// if (rate_KBps > quota_KBps_ && quotaEnforcementEnabled_) -TEST_F(DataRouterTestFixture, TestQuotaLimitationWithTimeDurationBiggerThanZeroWithQuotaEnforcementEnabled) -{ - TestMessage message{2345}; - auto type_info = utils::CreateTypeInfo(); - const auto register_result = writer_.TryRegisterType(type_info); - - const auto time_now = score::mw::log::detail::TimePoint::clock::now(); - writer_.AllocAndWrite(time_now, - register_result.value(), - score::common::visitor::logging_serializer::serialize_size(message), - [&message](auto data_span) { - return score::common::visitor::logging_serializer::serialize( - message, data_span.data(), score::mw::log::detail::GetDataSizeAsLength(data_span)); - }); - - shared_data_.writer_detached.store(true); - - auto& logger = score::mw::log::CreateLogger("DRUT", "statistics"); - - datarouter::DataRouter router(logger, DefaultParserFactory()); - - auto session_sender = score::cpp::pmr::make_unique(score::cpp::pmr::get_default_resource()); - auto src_session = router.new_source_session(0, - "any app", - false, - std::move(session_sender), - 0. /*zero quota KB*/, - true /*Enable quota enforcement*/, - 2001, - CreateReaderFactory()); - - // It's not mandatory to be 10 ms, it's safe and shouldn't cause any flakiness, we only need to guarantee - // a difference in the time between the instantiation of the 'SourceSession' instance that created - // by 'new_source_session' method and the invoking of the 'checkAndSetQuotaEnforcement' method to test - // the quota over limitation. - std::this_thread::sleep_for(std::chrono::milliseconds(10)); - - EXPECT_NE(src_session, nullptr); - EXPECT_EQ(src_session->tick(), false); - // Call 'tick' again to invoke 'checkAndSetQuotaEnforcement' method after updating total size with the new value. - EXPECT_EQ(src_session->tick(), false); - // Calling 'show_source_statistics' method to invoke 'show_stats' method. - router.show_source_statistics(0); -} - -// Basic test fixture for DataRouter with synchronized wrappers -class SynchronizedDataRouterTest : public ::testing::Test -{ - protected: - // Test the synchronized wrapper directly - void TestSynchronizedWrapper() - { - // Create a synchronized wrapper around an int - synchronized sync_value(42); - - // Test the with_lock method for read access - int result = sync_value.with_lock([](const auto& value) { - return value; - }); - EXPECT_EQ(result, 42); - - // Test the with_lock method for write access - sync_value.with_lock([](auto& value) { - value = 100; - }); - - // Verify the value was updated - result = sync_value.with_lock([](const auto& value) { - return value; - }); - EXPECT_EQ(result, 100); - } - - // Test the LocalSubscriberData synchronization - void TestLocalSubscriberDataSync() - { - synchronized local_data( - score::platform::datarouter::LocalSubscriberData{}); - - local_data.with_lock([](auto& data) { - data.detach_on_closed_processed = true; - }); - - bool result = local_data.with_lock([](const auto& data) { - return data.detach_on_closed_processed; - }); - - EXPECT_TRUE(result); - } - - void TestCommandDataSync() - { - synchronized cmd_data(score::platform::datarouter::CommandData{}); - - cmd_data.with_lock([](auto& cmd) { - cmd.command_detach_on_closed = true; - }); - - bool result = cmd_data.with_lock([](const auto& cmd) { - return cmd.command_detach_on_closed; - }); - - EXPECT_TRUE(result); - } - - // Test StatsData synchronization - void TestStatsDataSync() - { - // Direct initialization instead of {} - synchronized stats(score::platform::datarouter::StatsData{}); - - // Set and update message count - stats.with_lock([](auto& s) { - s.message_count = 10; - }); - - stats.with_lock([](auto& s) { - s.message_count += 5; - }); - - uint64_t result = stats.with_lock([](const auto& s) { - return s.message_count; - }); - - EXPECT_EQ(result, 15); - } -}; - -// Test the synchronized wrapper template -TEST_F(SynchronizedDataRouterTest, TestSynchronizedWrapperTemplate) -{ - TestSynchronizedWrapper(); -} - -// Test LocalSubscriberData synchronization -TEST_F(SynchronizedDataRouterTest, TestLocalSubscriberDataSynchronization) -{ - TestLocalSubscriberDataSync(); -} - -// Test CommandData synchronization -TEST_F(SynchronizedDataRouterTest, TestCommandDataSynchronization) -{ - TestCommandDataSync(); -} - -// Test StatsData synchronization -TEST_F(SynchronizedDataRouterTest, TestStatsDataSynchronization) -{ - TestStatsDataSync(); -} - -// Test for thread safety with multiple threads accessing a synchronized wrapper -TEST_F(SynchronizedDataRouterTest, TestThreadSafety) -{ - synchronized counter(0); - const int num_threads = 10; - const int increments_per_thread = 1000; - - std::vector threads; - - // Create multiple threads that increment the counter - for (int i = 0; i < num_threads; ++i) - { - threads.push_back(std::thread([&counter]() noexcept { - for (int j = 0; j < increments_per_thread; ++j) - { - counter.with_lock([](auto& value) { - ++value; - }); - } - })); - } - - // Wait for all threads to complete - for (auto& thread : threads) - { - thread.join(); - } - - // Verify the counter has been incremented correctly - int result = counter.with_lock([](auto& value) { - return value; - }); - - EXPECT_EQ(result, num_threads * increments_per_thread); -} - -} // namespace datarouter -} // namespace platform -} // namespace score diff --git a/score/datarouter/test/ut/test_socketserver.cpp b/score/datarouter/test/ut/test_socketserver.cpp deleted file mode 100644 index a5243efe..00000000 --- a/score/datarouter/test/ut/test_socketserver.cpp +++ /dev/null @@ -1,594 +0,0 @@ -#include "score/datarouter/include/daemon/socketserver.h" - -#include "score/concurrency/thread_pool.h" -#include "score/os/mocklib/fcntl_mock.h" -#include "score/os/mocklib/mock_pthread.h" -#include "score/os/mocklib/socketmock.h" -#include "score/os/mocklib/sys_poll_mock.h" -#include "score/os/mocklib/unistdmock.h" -#include "score/mw/log/configuration/nvconfigfactory.h" -#include "score/mw/log/detail/data_router/data_router_messages.h" -#include "score/mw/log/detail/data_router/shared_memory/reader_factory_mock.h" -#include "score/mw/log/detail/data_router/shared_memory/shared_memory_reader_mock.h" -#include "score/mw/log/logger.h" -#include "score/datarouter/daemon_communication/session_handle_mock.h" -#include "score/datarouter/datarouter/data_router.h" -#include "score/datarouter/include/daemon/dlt_log_server.h" -#include "score/datarouter/include/logparser/logparser.h" -#include "score/datarouter/src/persistency/i_persistent_dictionary.h" -#include "score/datarouter/src/persistency/stub_persistent_dictionary/stub_persistent_dictionary.h" -#if defined(PERSISTENT_CONFIG_FEATURE_ENABLED) -#include "score/datarouter/src/persistency/ara_per_persistent_dictionary/ara_per_persistent_dictionary.h" -#endif - -#include -#include - -#include -#include -#include -#include -#include - -using ::testing::_; -using ::testing::ByMove; -using ::testing::Return; -using ::testing::StrictMock; - -namespace -{ - -class SocketServerThreadNameFixture : public ::testing::Test -{ - protected: - StrictMock pthread_mock_{}; - - void SetUp() override - { - score::os::Pthread::set_testing_instance(pthread_mock_); - } - - void TearDown() override - { - score::os::Pthread::restore_instance(); - } -}; - -class InMemoryPersistentDictionary final : public score::platform::datarouter::IPersistentDictionary -{ - public: - std::string getString(const std::string& key, const std::string& defaultValue) override - { - const auto it = string_values_.find(key); - return it == string_values_.end() ? defaultValue : it->second; - } - - bool getBool(const std::string& key, const bool defaultValue) override - { - const auto it = bool_values_.find(key); - return it == bool_values_.end() ? defaultValue : it->second; - } - - void setString(const std::string& key, const std::string& value) override - { - string_values_[key] = value; - } - - void setBool(const std::string& key, const bool value) override - { - bool_values_[key] = value; - } - - private: - std::unordered_map string_values_{}; - std::unordered_map bool_values_{}; -}; - -std::string GetTestDataPath(const std::string& relative_path) -{ - const char* test_srcdir = std::getenv("TEST_SRCDIR"); - const char* test_workspace = std::getenv("TEST_WORKSPACE"); - if (test_srcdir == nullptr || test_workspace == nullptr) - { - return relative_path; - } - return std::string(test_srcdir) + "/" + test_workspace + "/" + relative_path; -} - -} // namespace - -TEST_F(SocketServerThreadNameFixture, SetThreadNameSuccess) -{ - EXPECT_CALL(pthread_mock_, self()).WillOnce(Return(pthread_t{})); - EXPECT_CALL(pthread_mock_, setname_np(::testing::_, ::testing::StrEq("socketserver"))) - .WillOnce(Return(score::cpp::blank{})); - - score::platform::datarouter::SocketServer::SetThreadName(); -} - -TEST_F(SocketServerThreadNameFixture, SetThreadNameFailureIsHandled) -{ - EXPECT_CALL(pthread_mock_, self()).WillOnce(Return(pthread_t{})); - EXPECT_CALL(pthread_mock_, setname_np(::testing::_, ::testing::StrEq("socketserver"))) - .WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createFromErrno(EINVAL)))); - - score::platform::datarouter::SocketServer::SetThreadName(); -} - -TEST(SocketServerStatisticsLoggerTest, CreateStatisticsLoggerUsesStatContext) -{ - score::mw::log::Logger& logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); - - EXPECT_EQ(logger.GetContext(), std::string_view{"STAT"}); -} - -TEST(SocketServerPersistentDictionaryTest, CreatePersistentDictionaryNoAdaptiveReturnsStub) -{ - auto dictionary = score::platform::datarouter::SocketServer::CreatePersistentDictionary(true); - - ASSERT_NE(dictionary, nullptr); - EXPECT_NE(dynamic_cast(dictionary.get()), nullptr); -} - -#if !defined(PERSISTENT_CONFIG_FEATURE_ENABLED) -TEST(SocketServerPersistentDictionaryTest, CreatePersistentDictionaryAdaptiveReturnsStub) -{ - auto dictionary = score::platform::datarouter::SocketServer::CreatePersistentDictionary(false); - - ASSERT_NE(dictionary, nullptr); - EXPECT_NE(dynamic_cast(dictionary.get()), nullptr); -} -#endif - -TEST(SocketServerPersistentStorageHandlersTest, CreatePersistentStorageHandlersUsesDefaults) -{ - score::platform::datarouter::StubPersistentDictionary dictionary; - - auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - - EXPECT_TRUE(handlers.is_dlt_enabled); - const auto config = handlers.load_dlt(); - EXPECT_TRUE(config.channels.empty()); -} - -TEST(SocketServerPersistentStorageHandlersTest, StoreDltConfigPersistsData) -{ - InMemoryPersistentDictionary dictionary; - - auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - - score::logging::dltserver::PersistentConfig config{}; - config.filteringEnabled = true; - config.defaultThreshold = score::mw::log::LogLevel::kWarn; - config.channels.emplace("CORE", score::logging::dltserver::PersistentConfig::ChannelDescription{}); - - handlers.store_dlt(config); - - EXPECT_FALSE(dictionary.getString("dltConfig", "").empty()); -} - -TEST(SocketServerStaticConfigTest, LoadStaticConfigParsesChannels) -{ - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - - ASSERT_TRUE(config.has_value()); - EXPECT_FALSE(config->channels.empty()); -} - -TEST(SocketServerDltServerTest, CreateDltServerRespectsEnabledFlag) -{ - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - ASSERT_TRUE(config.has_value()); - - score::platform::datarouter::StubPersistentDictionary dictionary; - const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - - auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); - - EXPECT_EQ(dlt_server.GetDltEnabled(), handlers.is_dlt_enabled); - EXPECT_EQ(dlt_server.getQuotaEnforcementEnabled(), config->quotaEnforcementEnabled); -} - -TEST(SocketServerSourceSetupHandlerTest, CreateLogParserFactoryConfiguresParser) -{ - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - ASSERT_TRUE(config.has_value()); - - score::platform::datarouter::StubPersistentDictionary dictionary; - const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); - - auto log_parser_factory = score::platform::datarouter::SocketServer::CreateLogParserFactory(dlt_server); - - // Execute the factory to cover the log parser creation - score::mw::log::NvConfig nv_config({}); - auto parser = log_parser_factory->Create(nv_config); - EXPECT_NE(parser, nullptr); -} - -TEST(SocketServerNvConfigTest, LoadNvConfigReturnsConfig) -{ - score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); - const auto nv_config = score::platform::datarouter::SocketServer::LoadNvConfig(stats_logger); - - EXPECT_EQ(nv_config.GetDltMsgDesc("nonexistent"), nullptr); -} - -TEST(SocketServerNvConfigTest, LoadNvConfigFromFileReturnsDescriptors) -{ - score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/class-id.json"); - - const auto nv_config = score::platform::datarouter::SocketServer::LoadNvConfig(stats_logger, path); - - EXPECT_NE(nv_config.GetDltMsgDesc("TestMsg"), nullptr); -} - -TEST(SocketServerEnableHandlerTest, ConfigureEnableHandlerUpdatesDictionary) -{ - constexpr const char* kOutputEnabledKey = "dltOutputEnabled"; - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - ASSERT_TRUE(config.has_value()); - - InMemoryPersistentDictionary dictionary; - const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); - - score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); - score::platform::datarouter::DataRouter router(stats_logger); - - score::platform::datarouter::SocketServer::ConfigureEnableHandler(router, dictionary, dlt_server); - - dlt_server.SetDltOutputEnable(false); - EXPECT_FALSE(dictionary.getBool(kOutputEnabledKey, true)); - - dlt_server.SetDltOutputEnable(true); - EXPECT_TRUE(dictionary.getBool(kOutputEnabledKey, false)); -} - -TEST(SocketServerEnableHandlerTest, ConfigureEnableHandlerUpdatesParsers) -{ - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - ASSERT_TRUE(config.has_value()); - - InMemoryPersistentDictionary dictionary; - const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); - - score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); - score::platform::datarouter::DataRouter router(stats_logger); - score::mw::log::NvConfig nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); - - auto reader_factory = std::make_unique(); - auto reader = std::make_unique(); - EXPECT_CALL(*reader_factory, Create(_, _)).WillOnce(Return(ByMove(std::move(reader)))); - - auto handle = score::cpp::pmr::make_unique( - score::cpp::pmr::get_default_resource()); - auto session = - router.new_source_session(10, "APP1", true, std::move(handle), 1.0, false, 1234, std::move(reader_factory)); - ASSERT_NE(session, nullptr); - - score::platform::datarouter::SocketServer::ConfigureEnableHandler(router, dictionary, dlt_server); - - dlt_server.SetDltOutputEnable(false); - dlt_server.SetDltOutputEnable(true); -} - -TEST(SocketServerUnixDomainServerTest, CreateUnixDomainServerReturnsInstance) -{ - score::os::SocketMock socket_mock; - score::os::SysPollMock sys_poll_mock; - - score::os::Socket::set_testing_instance(socket_mock); - score::os::SysPoll::set_testing_instance(sys_poll_mock); - - EXPECT_CALL(socket_mock, socket(_, _, _)).WillRepeatedly(Return(30)); - EXPECT_CALL(socket_mock, bind(_, _, _)).WillRepeatedly(Return(score::cpp::blank{})); - EXPECT_CALL(socket_mock, listen(_, _)).WillRepeatedly(Return(score::cpp::blank{})); - EXPECT_CALL(sys_poll_mock, poll(_, _, _)).WillRepeatedly([](struct pollfd* in_pollfd, nfds_t, int) { - in_pollfd[0].revents = 0; - return 0; - }); - - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - ASSERT_TRUE(config.has_value()); - - score::platform::datarouter::StubPersistentDictionary dictionary; - const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); - - auto server = score::platform::datarouter::SocketServer::CreateUnixDomainServer(dlt_server); - ASSERT_NE(server, nullptr); - std::this_thread::sleep_for(std::chrono::milliseconds(20)); - - server.reset(); - std::this_thread::sleep_for(std::chrono::milliseconds(20)); - - score::os::Socket::restore_instance(); - score::os::SysPoll::restore_instance(); -} - -TEST(SocketServerUnixDomainServerTest, CreateUnixDomainSessionReturnsInstance) -{ - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - ASSERT_TRUE(config.has_value()); - - score::platform::datarouter::StubPersistentDictionary dictionary; - const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); - - auto session = score::platform::datarouter::SocketServer::CreateUnixDomainSession( - dlt_server, "APP1", score::platform::internal::UnixDomainServer::SessionHandle{1}); - - EXPECT_NE(session, nullptr); -} - -TEST(SocketServerUnixDomainServerTest, CreateUnixDomainSessionFactoryCreatesSession) -{ - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - ASSERT_TRUE(config.has_value()); - - score::platform::datarouter::StubPersistentDictionary dictionary; - const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); - - auto factory = score::platform::datarouter::SocketServer::CreateUnixDomainSessionFactory(dlt_server); - auto session = factory("APP2", score::platform::internal::UnixDomainServer::SessionHandle{2}); - - EXPECT_NE(session, nullptr); -} - -TEST(SocketServerSharedMemoryFileNameTest, ResolveSharedMemoryFileNameStatic) -{ - score::mw::log::detail::ConnectMessageFromClient conn; - conn.SetUseDynamicIdentifier(false); - conn.SetUid(42); - conn.SetAppId(score::mw::log::detail::LoggingIdentifier{"APP1"}); - - const std::string file_name = score::platform::datarouter::SocketServer::ResolveSharedMemoryFileName(conn, "APP1"); - - EXPECT_EQ(file_name, "/tmp/logging.APP1.42.shmem"); -} - -TEST(SocketServerSharedMemoryFileNameTest, ResolveSharedMemoryFileNameDynamic) -{ - score::mw::log::detail::ConnectMessageFromClient conn; - conn.SetUseDynamicIdentifier(true); - conn.SetRandomPart({'a', 'b', 'c', 'd', 'e', 'f'}); - conn.SetAppId(score::mw::log::detail::LoggingIdentifier{"APP2"}); - - const std::string file_name = score::platform::datarouter::SocketServer::ResolveSharedMemoryFileName(conn, "APP2"); - - EXPECT_EQ(file_name, "/tmp/logging-abcdef.shmem"); -} - -TEST(SocketServerMessagePassingServerTest, CreateMessagePassingServerReturnsInstance) -{ - score::os::FcntlMock fcntl_mock; - score::os::UnistdMock unistd_mock; - - score::os::Fcntl::set_testing_instance(fcntl_mock); - score::os::Unistd::set_testing_instance(unistd_mock); - - EXPECT_CALL(fcntl_mock, open(_, _)) - .WillRepeatedly(Return(score::cpp::make_unexpected(score::os::Error::createFromErrno(EACCES)))); - EXPECT_CALL(unistd_mock, close(_)).WillRepeatedly(Return(score::cpp::blank{})); - - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - ASSERT_TRUE(config.has_value()); - - score::platform::datarouter::StubPersistentDictionary dictionary; - const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); - - score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); - score::platform::datarouter::DataRouter router(stats_logger); - score::mw::log::NvConfig nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); - score::concurrency::ThreadPool executor{1}; - - auto mp_server = - score::platform::datarouter::SocketServer::CreateMessagePassingServer(executor, router, dlt_server, nv_config); - - ASSERT_NE(mp_server, nullptr); - - score::os::Fcntl::restore_instance(); - score::os::Unistd::restore_instance(); -} - -TEST(SocketServerMessagePassingSessionTest, CreateMessagePassingSessionReturnsNullOnOpenFailure) -{ - score::os::FcntlMock fcntl_mock; - score::os::UnistdMock unistd_mock; - - score::os::Fcntl::set_testing_instance(fcntl_mock); - score::os::Unistd::set_testing_instance(unistd_mock); - - EXPECT_CALL(fcntl_mock, open(_, _)).WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createFromErrno(EACCES)))); - EXPECT_CALL(unistd_mock, close(_)).Times(0); - - score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); - score::platform::datarouter::DataRouter router(stats_logger); - score::mw::log::NvConfig nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); - - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - ASSERT_TRUE(config.has_value()); - score::platform::datarouter::StubPersistentDictionary dictionary; - const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); - - score::mw::log::detail::ConnectMessageFromClient conn; - conn.SetUseDynamicIdentifier(false); - conn.SetUid(10); - conn.SetAppId(score::mw::log::detail::LoggingIdentifier{"APPX"}); - - auto reader_factory = std::make_unique(); - EXPECT_CALL(*reader_factory, Create(_, _)).Times(0); - - auto handle = score::cpp::pmr::make_unique( - score::cpp::pmr::get_default_resource()); - auto session = score::platform::datarouter::SocketServer::CreateMessagePassingSession( - router, dlt_server, nv_config, 123, conn, std::move(handle), std::move(reader_factory)); - - EXPECT_EQ(session, nullptr); - - score::os::Fcntl::restore_instance(); - score::os::Unistd::restore_instance(); -} - -TEST(SocketServerMessagePassingSessionTest, CreateMessagePassingSessionCreatesSourceSession) -{ - score::os::FcntlMock fcntl_mock; - score::os::UnistdMock unistd_mock; - - score::os::Fcntl::set_testing_instance(fcntl_mock); - score::os::Unistd::set_testing_instance(unistd_mock); - - EXPECT_CALL(fcntl_mock, open(_, _)).WillOnce(Return(42)); - EXPECT_CALL(unistd_mock, close(42)).WillOnce(Return(score::cpp::blank{})); - - score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); - score::platform::datarouter::DataRouter router(stats_logger); - score::mw::log::NvConfig nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); - - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - ASSERT_TRUE(config.has_value()); - score::platform::datarouter::StubPersistentDictionary dictionary; - const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); - - score::mw::log::detail::ConnectMessageFromClient conn; - conn.SetUseDynamicIdentifier(false); - conn.SetUid(10); - conn.SetAppId(score::mw::log::detail::LoggingIdentifier{"APPX"}); - - auto reader_factory = std::make_unique(); - auto reader = std::make_unique(); - EXPECT_CALL(*reader_factory, Create(42, 123)).WillOnce(Return(ByMove(std::move(reader)))); - - auto handle = score::cpp::pmr::make_unique( - score::cpp::pmr::get_default_resource()); - auto session = score::platform::datarouter::SocketServer::CreateMessagePassingSession( - router, dlt_server, nv_config, 123, conn, std::move(handle), std::move(reader_factory)); - - EXPECT_NE(session, nullptr); - - score::os::Fcntl::restore_instance(); - score::os::Unistd::restore_instance(); -} - -TEST(SocketServerMessagePassingSessionTest, CreateMessagePassingSessionLogsCloseError) -{ - score::os::FcntlMock fcntl_mock; - score::os::UnistdMock unistd_mock; - - score::os::Fcntl::set_testing_instance(fcntl_mock); - score::os::Unistd::set_testing_instance(unistd_mock); - - EXPECT_CALL(fcntl_mock, open(_, _)).WillOnce(Return(7)); - EXPECT_CALL(unistd_mock, close(7)).WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createFromErrno(EIO)))); - - score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); - score::platform::datarouter::DataRouter router(stats_logger); - score::mw::log::NvConfig nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); - - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - ASSERT_TRUE(config.has_value()); - score::platform::datarouter::StubPersistentDictionary dictionary; - const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); - - score::mw::log::detail::ConnectMessageFromClient conn; - conn.SetUseDynamicIdentifier(true); - conn.SetRandomPart({'x', 'y', 'z', '1', '2', '3'}); - conn.SetAppId(score::mw::log::detail::LoggingIdentifier{"APPX"}); - - auto reader_factory = std::make_unique(); - auto reader = std::make_unique(); - EXPECT_CALL(*reader_factory, Create(7, 77)).WillOnce(Return(ByMove(std::move(reader)))); - - auto handle = score::cpp::pmr::make_unique( - score::cpp::pmr::get_default_resource()); - auto session = score::platform::datarouter::SocketServer::CreateMessagePassingSession( - router, dlt_server, nv_config, 77, conn, std::move(handle), std::move(reader_factory)); - - EXPECT_NE(session, nullptr); - - score::os::Fcntl::restore_instance(); - score::os::Unistd::restore_instance(); -} - -TEST(SocketServerMessagePassingServerTest, CreateMessagePassingSessionFactoryUsesDefaults) -{ - score::os::FcntlMock fcntl_mock; - score::os::UnistdMock unistd_mock; - - score::os::Fcntl::set_testing_instance(fcntl_mock); - score::os::Unistd::set_testing_instance(unistd_mock); - - EXPECT_CALL(fcntl_mock, open(_, _)).WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createFromErrno(EACCES)))); - EXPECT_CALL(unistd_mock, close(_)).Times(0); - - score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); - score::platform::datarouter::DataRouter router(stats_logger); - score::mw::log::NvConfig nv_config = score::mw::log::NvConfigFactory::CreateEmpty(); - - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - ASSERT_TRUE(config.has_value()); - score::platform::datarouter::StubPersistentDictionary dictionary; - const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); - - auto factory = - score::platform::datarouter::SocketServer::CreateMessagePassingSessionFactory(router, dlt_server, nv_config); - - score::mw::log::detail::ConnectMessageFromClient conn; - conn.SetUseDynamicIdentifier(false); - conn.SetUid(5); - conn.SetAppId(score::mw::log::detail::LoggingIdentifier{"APPA"}); - - auto handle = score::cpp::pmr::make_unique( - score::cpp::pmr::get_default_resource()); - auto session = factory(5, conn, std::move(handle)); - - EXPECT_EQ(session, nullptr); - - score::os::Fcntl::restore_instance(); - score::os::Unistd::restore_instance(); -} - -TEST(SocketServerEventLoopTest, RunEventLoopExitsWhenRequested) -{ - const std::string path = GetTestDataPath("score/datarouter/test/ut/etc/log-channels.json"); - const auto config = score::platform::datarouter::SocketServer::LoadStaticConfig(path.c_str()); - ASSERT_TRUE(config.has_value()); - - score::platform::datarouter::StubPersistentDictionary dictionary; - const auto handlers = score::platform::datarouter::SocketServer::CreatePersistentStorageHandlers(dictionary); - auto dlt_server = score::platform::datarouter::SocketServer::CreateDltServer(config.value(), handlers); - - score::mw::log::Logger& stats_logger = score::platform::datarouter::SocketServer::CreateStatisticsLogger(); - score::platform::datarouter::DataRouter router(stats_logger); - - std::atomic_bool exit_requested{false}; - std::thread worker([&]() { - score::platform::datarouter::SocketServer::RunEventLoop(exit_requested, router, dlt_server, stats_logger); - }); - - std::this_thread::sleep_for(std::chrono::milliseconds(10)); - exit_requested = true; - worker.join(); -} From 03566126420dcae81337b9b16d2fbe21352d6d00 Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Thu, 2 Apr 2026 08:57:33 +0200 Subject: [PATCH 33/49] Datarouter, LogParser: apply const GIT_ORIGIN_SPP_REV_ID: a16081c12c2e2c732030f62ef001b6a70ef7aebf --- score/datarouter/include/logparser/logparser.h | 15 +++++++-------- score/datarouter/src/daemon/socketserver.cpp | 8 ++++++-- score/datarouter/src/logparser/logparser.cpp | 8 ++------ .../test/ut/ut_logging/test_logparser.cpp | 3 ++- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/score/datarouter/include/logparser/logparser.h b/score/datarouter/include/logparser/logparser.h index eaa2c1d4..af1ed2b9 100644 --- a/score/datarouter/include/logparser/logparser.h +++ b/score/datarouter/include/logparser/logparser.h @@ -42,7 +42,8 @@ namespace internal /// LogParser is NOT thread-safe. /// /// Handler maps (handle_request_map_, global_handlers_) are populated once at -/// construction via constructor injection and never mutated afterward (Ticket-254408). +/// construction via constructor injection and declared const to enforce that +/// invariant (Ticket-254408). /// However, AddIncomingType() mutates index_parser_map_ and Parse*()/ /// ParseSharedMemoryRecord() reads it — both without synchronization. /// @@ -55,9 +56,11 @@ namespace internal class LogParser : public ILogParser { public: + using HandleRequestMap = std::unordered_multimap; + explicit LogParser(const score::mw::log::INvConfig& nv_config, std::vector global_handlers = {}, - std::vector type_handlers = {}); + HandleRequestMap handle_request_map = {}); ~LogParser() = default; void AddIncomingType(const BufsizeT map_index, const std::string& params) override; @@ -67,10 +70,6 @@ class LogParser : public ILogParser void ParseSharedMemoryRecord(const score::mw::log::detail::SharedMemoryRecord& record) override; private: - // typeName-keyed - // HandleRequestMap::value_type* is not changed by unrelated insert/erase - using HandleRequestMap = std::unordered_multimap; - class IndexParser { public: @@ -86,11 +85,11 @@ class LogParser : public ILogParser std::vector handlers_; }; - HandleRequestMap handle_request_map_; + const HandleRequestMap handle_request_map_; std::unordered_map index_parser_map_; - std::vector global_handlers_; + const std::vector global_handlers_; const score::mw::log::INvConfig& nv_config_; }; diff --git a/score/datarouter/src/daemon/socketserver.cpp b/score/datarouter/src/daemon/socketserver.cpp index 4fc32444..57ea7407 100644 --- a/score/datarouter/src/daemon/socketserver.cpp +++ b/score/datarouter/src/daemon/socketserver.cpp @@ -168,9 +168,13 @@ std::unique_ptr SocketServer::Crea std::unique_ptr Create(const score::mw::log::NvConfig& nv_config) override { auto global_handlers = dlt_server_.GetGlobalHandlers(); - auto type_handlers = dlt_server_.GetTypeHandlerBindings(); + score::platform::internal::LogParser::HandleRequestMap handle_request_map; + for (auto& binding : dlt_server_.GetTypeHandlerBindings()) + { + handle_request_map.emplace(std::move(binding.type_name), binding.handler); + } return std::make_unique( - nv_config, std::move(global_handlers), std::move(type_handlers)); + nv_config, std::move(global_handlers), std::move(handle_request_map)); } private: diff --git a/score/datarouter/src/logparser/logparser.cpp b/score/datarouter/src/logparser/logparser.cpp index 85583f02..7dd9cd88 100644 --- a/score/datarouter/src/logparser/logparser.cpp +++ b/score/datarouter/src/logparser/logparser.cpp @@ -61,17 +61,13 @@ namespace internal LogParser::LogParser(const score::mw::log::INvConfig& nv_config, std::vector global_handlers, - std::vector type_handlers) + HandleRequestMap handle_request_map) : ILogParser(), - handle_request_map_{}, + handle_request_map_{std::move(handle_request_map)}, index_parser_map_{}, global_handlers_{std::move(global_handlers)}, nv_config_(nv_config) { - for (auto& binding : type_handlers) - { - handle_request_map_.emplace(std::move(binding.type_name), binding.handler); - } } void LogParser::IndexParser::AddHandler(TypeHandler* handler) diff --git a/score/datarouter/test/ut/ut_logging/test_logparser.cpp b/score/datarouter/test/ut/ut_logging/test_logparser.cpp index 41900b08..b2f51966 100644 --- a/score/datarouter/test/ut/ut_logging/test_logparser.cpp +++ b/score/datarouter/test/ut/ut_logging/test_logparser.cpp @@ -104,7 +104,8 @@ TEST(LogParserTest, SingleMessageHandler) const std::string message = MakeMessage(kTestMessageIndex, TestMessage{2345}); LogParser parser(CreateTestNvConfig(), {&any_handler}, - {{"test::TestMessage", &type_handler_yes}, {"test::notTestMessage", &type_handler_no}}); + LogParser::HandleRequestMap{{"test::TestMessage", &type_handler_yes}, + {"test::notTestMessage", &type_handler_no}}); parser.AddIncomingType(kTestMessageIndex, type_params); From b523073706444aca82b142155033956c6ca2cf4d Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Thu, 2 Apr 2026 16:39:33 +0200 Subject: [PATCH 34/49] Datarouter: Remove dead code FilterFactory GIT_ORIGIN_SPP_REV_ID: c83b16ac45ff566817a982ef0705be65b32e1310 --- score/datarouter/BUILD | 4 - .../daemon/socketserver_filter_factory.h | 32 ----- .../include/logparser/i_logparser.h | 9 -- .../daemon/socketserver_filter_factory.cpp | 112 ------------------ .../ut_logging/test_socketserver_config.cpp | 69 ----------- 5 files changed, 226 deletions(-) delete mode 100644 score/datarouter/include/daemon/socketserver_filter_factory.h delete mode 100644 score/datarouter/src/daemon/socketserver_filter_factory.cpp diff --git a/score/datarouter/BUILD b/score/datarouter/BUILD index f87fd29c..70761ed2 100644 --- a/score/datarouter/BUILD +++ b/score/datarouter/BUILD @@ -738,11 +738,9 @@ cc_library( name = "socketserver_config_lib", srcs = [ "src/daemon/socketserver_config.cpp", - "src/daemon/socketserver_filter_factory.cpp", ], hdrs = [ "include/daemon/socketserver_config.h", - "include/daemon/socketserver_filter_factory.h", ], features = COMPILER_WARNING_FEATURES, strip_include_prefix = "include", @@ -768,11 +766,9 @@ cc_library( testonly = True, srcs = [ "src/daemon/socketserver_config.cpp", - "src/daemon/socketserver_filter_factory.cpp", ], hdrs = [ "include/daemon/socketserver_config.h", - "include/daemon/socketserver_filter_factory.h", ], features = COMPILER_WARNING_FEATURES, strip_include_prefix = "include", diff --git a/score/datarouter/include/daemon/socketserver_filter_factory.h b/score/datarouter/include/daemon/socketserver_filter_factory.h deleted file mode 100644 index 5350908a..00000000 --- a/score/datarouter/include/daemon/socketserver_filter_factory.h +++ /dev/null @@ -1,32 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -#ifndef SCORE_DATAROUTER_INCLUDE_DAEMON_SOCKETSERVER_FILTER_FACTORY_H -#define SCORE_DATAROUTER_INCLUDE_DAEMON_SOCKETSERVER_FILTER_FACTORY_H - -#include "logparser/logparser.h" - -namespace score -{ -namespace platform -{ -namespace datarouter -{ - -internal::LogParser::FilterFunctionFactory GetFilterFactory(); - -} // namespace datarouter -} // namespace platform -} // namespace score - -#endif // SCORE_DATAROUTER_INCLUDE_DAEMON_SOCKETSERVER_FILTER_FACTORY_H diff --git a/score/datarouter/include/logparser/i_logparser.h b/score/datarouter/include/logparser/i_logparser.h index 116f1405..1b38abbb 100644 --- a/score/datarouter/include/logparser/i_logparser.h +++ b/score/datarouter/include/logparser/i_logparser.h @@ -76,15 +76,6 @@ class ILogParser virtual ~ILogParser() = default; - // a function object to return whether the message parameter passes some encapsulted filter - // (in order to support content-based forwarding) - using FilterFunction = std::function; - - // a function to create such function objects based on the type of the message, - // the type of the filter object, and the serialized payload of the filter object - // (called on the request data provided by add_data_forwarder()) - using FilterFunctionFactory = std::function; - virtual void AddIncomingType(const BufsizeT map_index, const std::string& params) = 0; virtual void AddIncomingType(const score::mw::log::detail::TypeRegistration&) = 0; diff --git a/score/datarouter/src/daemon/socketserver_filter_factory.cpp b/score/datarouter/src/daemon/socketserver_filter_factory.cpp deleted file mode 100644 index 5f23a1fc..00000000 --- a/score/datarouter/src/daemon/socketserver_filter_factory.cpp +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2025 Contributors to the Eclipse Foundation - * - * See the NOTICE file(s) distributed with this work for additional - * information regarding copyright ownership. - * - * This program and the accompanying materials are made available under the - * terms of the Apache License Version 2.0 which is available at - * https://www.apache.org/licenses/LICENSE-2.0 - * - * SPDX-License-Identifier: Apache-2.0 - ********************************************************************************/ - -#include "daemon/socketserver_filter_factory.h" - -#include "dlt/logentry_trace.h" -#include "static_reflection_with_serialization/serialization/skip_deserialize.h" - -#include "score/mw/log/detail/log_entry.h" - -namespace score -{ -namespace platform -{ -namespace datarouter -{ - -namespace v = score::common::visitor; - -struct LogEntryFilterable -{ - score::mw::log::detail::LoggingIdentifier app_id{""}; - score::mw::log::detail::LoggingIdentifier ctx_id{""}; - v::skip_deserialize payload{}; - // v::skip_deserialize timestamp_steady_nsec; - // v::skip_deserialize timestamp_system_nsec; - v::skip_deserialize num_of_args{}; - // v::skip_deserialize header_buffer; - uint8_t log_level{}; -}; - -// external linkage to suppress STRUCT_TRACEABLE unused fields warning -// Suppress "AUTOSAR C++14 A18-9-4". The rule states: An argument to std::forward shall not be subsequently used. -// Rationale: STRUCT_TRACEABLE is a macro, std::forward is from the macro definition -// Suppress "AUTOSAR C++14 M3-2-3". The rule states: A type, object or function that is used in multiple translation -// units shall be declared in one and only one file. -// Rationale: STRUCT_TRACEABLE is defined in this file with these args -// only once. -// coverity[autosar_cpp14_a18_9_4_violation] -// coverity[autosar_cpp14_m3_2_3_violation] -STRUCT_TRACEABLE(LogEntryFilterable, - app_id, - ctx_id, - payload, - // timestamp_steady_nsec, - // timestamp_system_nsec, - num_of_args, - // header_buffer, - log_level) -static_assert(v::is_payload_compatible(), "not compatible"); - -struct DataFilterable -{ - std::uint32_t service_id; - std::uint32_t instance_id; - std::uint32_t attribute_id; - v::skip_deserialize> payload; -}; - -// external linkage to suppress STRUCT_TRACEABLE unused fields warning -// Suppress "AUTOSAR C++14 A18-9-4". The rule states: An argument to std::forward shall not be subsequently used. -// Rationale: STRUCT_TRACEABLE is a macro, std::forward is from the macro definition -// coverity[autosar_cpp14_a18_9_4_violation] -STRUCT_TRACEABLE(DataFilterable, serviceId, instanceId, attributeId, payload) - -score::platform::internal::LogParser::FilterFunctionFactory GetFilterFactory() -{ - auto factory = [](const std::string& type_name, - const DataFilter& filter) -> score::platform::internal::LogParser::FilterFunction { - if (type_name == v::struct_visitable::name() && - filter.filter_type == v::struct_visitable::name()) - { - score::platform::internal::LogEntryFilter entry_filter; - using S = v::logging_serializer; - if (S::deserialize(filter.filter_data.data(), filter.filter_data.size(), entry_filter)) - { - return [entry_filter](const char* const data, const BufsizeT size) { - LogEntryFilterable entry; - if (!S::deserialize(data, size, entry)) - { - return false; - } - const bool app_id_match = entry_filter.app_id == score::mw::log::detail::LoggingIdentifier{""} || - entry_filter.app_id == entry.app_id; - const bool ctx_id_match = entry_filter.ctx_id == score::mw::log::detail::LoggingIdentifier{""} || - // condition tested :FALSE POSITIVE. - // LCOV_EXCL_START - entry_filter.ctx_id == entry.ctx_id; - // LCOV_EXCL_STOP - const bool log_level_match = entry_filter.log_level_threshold >= entry.log_level; - return app_id_match && ctx_id_match && log_level_match; - }; - } - } - return {}; - }; - return factory; -} - -} // namespace datarouter -} // namespace platform -} // namespace score diff --git a/score/datarouter/test/ut/ut_logging/test_socketserver_config.cpp b/score/datarouter/test/ut/ut_logging/test_socketserver_config.cpp index 90f4d5eb..e806e361 100644 --- a/score/datarouter/test/ut/ut_logging/test_socketserver_config.cpp +++ b/score/datarouter/test/ut/ut_logging/test_socketserver_config.cpp @@ -14,8 +14,6 @@ #include "score/mw/log/detail/log_entry.h" #include "score/mw/log/log_common.h" -#include "daemon/socketserver_filter_factory.h" - #include "score/mw/log/log_level.h" #include "score/datarouter/include/daemon/socketserver_config.h" @@ -41,73 +39,6 @@ namespace const std::string kConfigDatabaseKey = "dltConfig"; const std::string kConfigOutputEnabledKey = "dltOutputEnabled"; -template -std::string TypeName() -{ - return ::score::common::visitor::struct_visitable::name(); -} - -TEST(SocketserverConfigTest, FilterFactoryDefault) -{ - const auto factory = ::score::platform::datarouter::GetFilterFactory(); - EXPECT_TRUE(factory); - EXPECT_FALSE(factory("", ::score::platform::DataFilter{})); -} - -TEST(SocketserverConfigTest, FilterFactoryLogEntry) -{ - const auto factory = ::score::platform::datarouter::GetFilterFactory(); - - using ::score::mw::log::detail::LogEntry; - using ::score::platform::DltidT; - using ::score::platform::internal::LogEntryFilter; - using S = ::score::common::visitor::logging_serializer; - - constexpr std::size_t kSerializationBufferSize = 128; - std::array buffer; - - const LogEntryFilter filter{ - score::mw::log::detail::LoggingIdentifier{"APP0"}, score::mw::log::detail::LoggingIdentifier{""}, 1U}; - const auto f_size = S::serialize(filter, buffer.data(), buffer.size()); - ::score::platform::DataFilter data_filter{TypeName(), std::string(buffer.data(), f_size)}; - - const auto matcher = factory(TypeName(), data_filter); - EXPECT_TRUE(matcher); - - const LogEntry entry1{score::mw::log::detail::LoggingIdentifier{"APP0"}, - score::mw::log::detail::LoggingIdentifier{"CTX0"}, - {'1'}, - {}, - {}, - 1, - {}, - mw::log::LogLevel::kOff}; - const LogEntry entry2{score::mw::log::detail::LoggingIdentifier{"APP0"}, - score::mw::log::detail::LoggingIdentifier{"CTX0"}, - {'2'}, - {}, - {}, - 1, - {}, - mw::log::LogLevel::kError}; - const LogEntry entry3{score::mw::log::detail::LoggingIdentifier{"APP1"}, - score::mw::log::detail::LoggingIdentifier{"CTX0"}, - {'3'}, - {}, - {}, - 1, - {}, - mw::log::LogLevel::kOff}; - const auto t_size1 = S::serialize(entry1, buffer.data(), buffer.size()); - EXPECT_TRUE(matcher(buffer.data(), t_size1)); - const auto t_size2 = S::serialize(entry2, buffer.data(), buffer.size()); - EXPECT_FALSE(matcher(buffer.data(), t_size2)); - const auto t_size3 = S::serialize(entry3, buffer.data(), buffer.size()); - EXPECT_FALSE(matcher(buffer.data(), t_size3)); - // Test deserialization for failing and return false. - EXPECT_FALSE(matcher(buffer.data(), 0)); -} - std::string PrepareLogChannelsPath(const std::string& file_name) { const std::string override_path = "score/datarouter/test/ut/etc/" + file_name; From a418432bac62c51a0e5379804c87f7749ed02ad5 Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Thu, 2 Apr 2026 17:12:31 +0200 Subject: [PATCH 35/49] Datarouter: Delegate IOutputEnabled to GetDltEnabled GIT_ORIGIN_SPP_REV_ID: aa5ee8452af9495843081dbb87a5ea33f4bf841b --- score/datarouter/src/daemon/dlt_log_server.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/score/datarouter/src/daemon/dlt_log_server.cpp b/score/datarouter/src/daemon/dlt_log_server.cpp index c6cc72c2..0dce7ff5 100644 --- a/score/datarouter/src/daemon/dlt_log_server.cpp +++ b/score/datarouter/src/daemon/dlt_log_server.cpp @@ -231,7 +231,7 @@ bool DltLogServer::GetDltEnabled() const noexcept bool DltLogServer::IsOutputEnabled() const noexcept { - return dlt_output_enabled_.load(std::memory_order_acquire); + return GetDltEnabled(); } void DltLogServer::SaveDatabase() From 2af4f01ab99657d09003a187278502144716369f Mon Sep 17 00:00:00 2001 From: Jianjun Wen Date: Tue, 24 Feb 2026 01:18:31 +0200 Subject: [PATCH 36/49] Update line coverage for aas/mw/log Update Line coverage for aas/mw/log GIT_ORIGIN_SPP_REV_ID: 85af0866e8f7f0371fe33657ebf09f79b8b47473 --- score/mw/log/detail/data_router/BUILD | 1 + ...router_message_client_identifiers_test.cpp | 66 ++++ .../data_router_message_client_impl.cpp | 7 + .../data_router_message_client_test.cpp | 310 ++++++++++++++++++ .../shared_memory_reader_test.cpp | 9 + .../mw/log/detail/utils/signal_handling/BUILD | 29 ++ .../signal_handling/signal_handling_test.cpp | 146 +++++++++ 7 files changed, 568 insertions(+) create mode 100644 score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp create mode 100644 score/mw/log/detail/utils/signal_handling/signal_handling_test.cpp diff --git a/score/mw/log/detail/data_router/BUILD b/score/mw/log/detail/data_router/BUILD index 4daf313e..9fe348fa 100644 --- a/score/mw/log/detail/data_router/BUILD +++ b/score/mw/log/detail/data_router/BUILD @@ -119,6 +119,7 @@ cc_test( "data_router_backend_test.cpp", "data_router_message_client_factory_mock.h", "data_router_message_client_factory_test.cpp", + "data_router_message_client_identifiers_test.cpp", "data_router_message_client_mock.h", "data_router_message_client_test.cpp", "data_router_messages_test.cpp", diff --git a/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp b/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp new file mode 100644 index 00000000..678cf214 --- /dev/null +++ b/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp @@ -0,0 +1,66 @@ +#include "score/mw/log/detail/data_router/data_router_message_client_identifiers.h" +#include "gmock/gmock.h" +#include "gtest/gtest.h" +#include "score/mw/log/detail/logging_identifier.h" + +const std::string kClientReceiverIdentifier = "/logging.app.1234"; +const pid_t kThisProcessPid = 99U; +const auto kAppid = score::mw::log::detail::LoggingIdentifier{"TeAp"}; +constexpr uid_t kDatarouterDummyUid = 111; +const uid_t kUid = 1234; + +namespace score::mw::log::detail +{ + +namespace +{ + +TEST(DatarouterMessageClientIdentifiersFixture, TestDataRouterMessageIDsGetters) +{ + + MsgClientIdentifiers msg_client_ids( + kClientReceiverIdentifier, kThisProcessPid, kAppid, static_cast(kDatarouterDummyUid), kUid); + + EXPECT_EQ(msg_client_ids.GetReceiverID(), kClientReceiverIdentifier); + EXPECT_EQ(msg_client_ids.GetThisProcID(), kThisProcessPid); + EXPECT_EQ(msg_client_ids.GetAppID(), kAppid); + EXPECT_EQ(msg_client_ids.GetDatarouterUID(), kDatarouterDummyUid); + EXPECT_EQ(msg_client_ids.GetUID(), kUid); +} + +TEST(DatarouterMessageClientIdentifiersTest, HandlesEmptyReceiverIdentifier) +{ + const MsgClientIdentifiers msg_client_ids("", kThisProcessPid, kAppid, kDatarouterDummyUid, kUid); + + EXPECT_EQ(msg_client_ids.GetReceiverID(), ""); +} + +TEST(DatarouterMessageClientIdentifiersTest, HandlesZeroPid) +{ + const MsgClientIdentifiers msg_client_ids(kClientReceiverIdentifier, 0, kAppid, kDatarouterDummyUid, kUid); + + EXPECT_EQ(msg_client_ids.GetThisProcID(), 0); +} + +TEST(DatarouterMessageClientIdentifiersTest, HandlesMaxUidValues) +{ + constexpr uid_t kMaxUid = std::numeric_limits::max(); + + const MsgClientIdentifiers msg_client_ids(kClientReceiverIdentifier, kThisProcessPid, kAppid, kMaxUid, kMaxUid); + + EXPECT_EQ(msg_client_ids.GetDatarouterUID(), kMaxUid); + EXPECT_EQ(msg_client_ids.GetUID(), kMaxUid); +} + +TEST(DatarouterMessageClientIdentifiersTest, HandlesEmptyAppId) +{ + const auto k_empty_app_id = LoggingIdentifier{""}; + + const MsgClientIdentifiers msg_client_ids( + kClientReceiverIdentifier, kThisProcessPid, k_empty_app_id, kDatarouterDummyUid, kUid); + + EXPECT_EQ(msg_client_ids.GetAppID(), k_empty_app_id); +} + +} // namespace +} // namespace score::mw::log::detail diff --git a/score/mw/log/detail/data_router/data_router_message_client_impl.cpp b/score/mw/log/detail/data_router/data_router_message_client_impl.cpp index 1429bcea..60084c8b 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_impl.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_impl.cpp @@ -110,11 +110,18 @@ void DatarouterMessageClientImpl::ConnectToDatarouter() noexcept return; } + // LCOV_EXCL_START : Defensive check for a rare race between the condition_variable::wait + // above and the subsequent StartReceiver() call. The wait predicate only returns when + // sender_state_ == kReady or stop_source_.stop_requested() is true. After the wait + // returns and the mutex is released, the sender state could theoretically change again + // before we reach this point. This branch protects against that scenario but is not + // practically coverable in a deterministic unit test. if (!sender_state_.has_value() || (sender_state_.value() != score::message_passing::IClientConnection::State::kReady)) { RequestInternalShutdown(); return; } + // LCOV_EXCL_STOP if (StartReceiver() == false) { diff --git a/score/mw/log/detail/data_router/data_router_message_client_test.cpp b/score/mw/log/detail/data_router/data_router_message_client_test.cpp index ecf335ca..7011706c 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_test.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_test.cpp @@ -20,6 +20,7 @@ #include "score/os/mocklib/unistdmock.h" #include "score/os/utils/mocklib/signalmock.h" #include "score/mw/log/detail/data_router/data_router_message_client_impl.h" +#include "score/mw/log/detail/data_router/data_router_message_client_mock.h" #include "score/mw/log/detail/data_router/message_passing_factory_mock.h" #include "gmock/gmock.h" @@ -37,12 +38,30 @@ namespace detail namespace { +using ::score::mw::log::detail::DatarouterMessageClientMock; using ::testing::_; using ::testing::ByMove; using ::testing::Matcher; using ::testing::Return; +using ::testing::ReturnRef; using ::testing::StrEq; +class DatarouterMessageClientMockTest : public ::testing::Test +{ + protected: + void SetUp() override {} + void TearDown() override {} +}; + +TEST_F(DatarouterMessageClientMockTest, ShutdownIsInvoked) +{ + DatarouterMessageClientMock mock_client; + + EXPECT_CALL(mock_client, Shutdown()).Times(1); + + mock_client.Shutdown(); +} + MATCHER_P(CompareServiceProtocol, expected, "") { if (arg.identifier != expected.identifier || arg.max_send_size != expected.max_send_size || @@ -942,6 +961,297 @@ TEST_F(DatarouterMessageClientFixture, FailedToEmptySignalSet) connect_thread.join(); } +TEST_F(DatarouterMessageClientFixture, ConnectToDatarouterShouldReportErrorAndShutdownWhenCreateSenderFails) +{ + + testing::InSequence order_matters; + + auto* receiver_ptr = ExpectReceiverCreated(); + + ExpectBlockTerminationSignalPass(); + ExpectSetLoggerThreadName(); + + // CreateClient returns nullptr, causing CreateSender to return nullopt + const score::message_passing::ServiceProtocolConfig service_protocol_config{ + kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, 0U}; + const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; + + EXPECT_CALL(*message_passing_factory_, + CreateClient(CompareServiceProtocol(service_protocol_config), CompareClientConfig(client_config))) + .WillOnce(Return(ByMove(nullptr))); + + ExpectUnlinkMwsrWriterFile(); + ExpectServerDestruction(receiver_ptr); + + client_->SetupReceiver(); + client_->ConnectToDatarouter(); +} + +TEST_F(DatarouterMessageClientFixture, ConnectCallbackBlocksSignalAndReturnsClientPid) +{ + constexpr pid_t kExpectedPid = 42; + + auto* receiver_ptr = ExpectReceiverCreated(); + EXPECT_CALL(*signal_mock_, SigEmptySet(_)).Times(2).WillRepeatedly(Return(0)); + EXPECT_CALL(*signal_mock_, SigAddSet(_, SIGTERM)).Times(2).WillRepeatedly(Return(0)); + EXPECT_CALL(*signal_mock_, PthreadSigMask(_, _)).Times(2).WillRepeatedly(Return(0)); + ExpectSetLoggerThreadName(); + + sender_mock_in_transit_ = score::cpp::pmr::make_unique>( + score::cpp::pmr::get_default_resource()); + auto* sender_ptr = sender_mock_in_transit_.get(); + + const score::message_passing::ServiceProtocolConfig service_protocol_config{ + kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, 0U}; + const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; + + EXPECT_CALL(*message_passing_factory_, + CreateClient(CompareServiceProtocol(service_protocol_config), CompareClientConfig(client_config))) + .WillOnce(Return(ByMove(std::move(sender_mock_in_transit_)))); + + EXPECT_CALL(*sender_ptr, + Start(Matcher(_), + Matcher(_))) + .WillOnce([](score::message_passing::IClientConnection::StateCallback state_callback, + score::message_passing::IClientConnection::NotifyCallback) { + state_callback(score::message_passing::IClientConnection::State::kReady); + }); + + testing::StrictMock server_conn_mock; + + const score::message_passing::ClientIdentity expected_identity{kExpectedPid, 0, 0}; + EXPECT_CALL(server_conn_mock, GetClientIdentity()).WillOnce(ReturnRef(expected_identity)); + + // ExpectBlockTerminationSignalPass(); + + EXPECT_CALL(*receiver_ptr, + StartListening(Matcher(_), + Matcher(_), + Matcher(_), + Matcher(_))) + .WillOnce([&server_conn_mock](score::message_passing::ConnectCallback connect_cb, + score::message_passing::DisconnectCallback, + score::message_passing::MessageCallback, + score::message_passing::MessageCallback) { + auto result = connect_cb(server_conn_mock); + + EXPECT_TRUE(result.has_value()); + EXPECT_EQ(std::get(result.value()), static_cast(kExpectedPid)); + + return score::cpp::expected_blank{}; + }); + + ExpectSendConnectMessage(sender_ptr); + + ExpectServerDestruction(receiver_ptr); + ExpectClientDestruction(sender_ptr); + + client_->SetupReceiver(); + client_->ConnectToDatarouter(); +} + +TEST_F(DatarouterMessageClientFixture, DisconnectCallbackRequestsInternalShutdown) +{ + auto* receiver_ptr = ExpectReceiverCreated(); + ExpectBlockTerminationSignalPass(); + ExpectSetLoggerThreadName(); + + sender_mock_in_transit_ = score::cpp::pmr::make_unique>( + score::cpp::pmr::get_default_resource()); + auto* sender_ptr = sender_mock_in_transit_.get(); + + const score::message_passing::ServiceProtocolConfig service_protocol_config{ + kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, 0U}; + const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; + + EXPECT_CALL(*message_passing_factory_, + CreateClient(CompareServiceProtocol(service_protocol_config), CompareClientConfig(client_config))) + .WillOnce(Return(ByMove(std::move(sender_mock_in_transit_)))); + + EXPECT_CALL(*sender_ptr, + Start(Matcher(_), + Matcher(_))) + .WillOnce([](score::message_passing::IClientConnection::StateCallback state_callback, + score::message_passing::IClientConnection::NotifyCallback) { + state_callback(score::message_passing::IClientConnection::State::kReady); + }); + + testing::StrictMock server_conn_mock; + + EXPECT_CALL(*receiver_ptr, + StartListening(Matcher(_), + Matcher(_), + Matcher(_), + Matcher(_))) + .WillOnce([&server_conn_mock](score::message_passing::ConnectCallback, + score::message_passing::DisconnectCallback disconnect_cb, + score::message_passing::MessageCallback, + score::message_passing::MessageCallback) { + disconnect_cb(server_conn_mock); + return score::cpp::expected_blank{}; + }); + + ExpectUnlinkMwsrWriterFile(); + + ExpectServerDestruction(receiver_ptr); + ExpectClientDestruction(sender_ptr); + + client_->SetupReceiver(); + client_->ConnectToDatarouter(); + EXPECT_TRUE(stop_source_.stop_requested()); +} + +TEST_F(DatarouterMessageClientFixture, ReceivedSendMessageWithReplyCallbackDoesNothing) +{ + auto* receiver_ptr = ExpectReceiverCreated(); + + ExpectBlockTerminationSignalPass(); + ExpectSetLoggerThreadName(); + + sender_mock_in_transit_ = score::cpp::pmr::make_unique>( + score::cpp::pmr::get_default_resource()); + auto* sender_ptr = sender_mock_in_transit_.get(); + + const score::message_passing::ServiceProtocolConfig service_protocol_config{ + kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, 0U}; + const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; + + EXPECT_CALL(*message_passing_factory_, + CreateClient(CompareServiceProtocol(service_protocol_config), CompareClientConfig(client_config))) + .WillOnce(Return(ByMove(std::move(sender_mock_in_transit_)))); + + EXPECT_CALL(*sender_ptr, + Start(Matcher(_), + Matcher(_))) + .WillOnce([](score::message_passing::IClientConnection::StateCallback state_callback, + score::message_passing::IClientConnection::NotifyCallback) { + state_callback(score::message_passing::IClientConnection::State::kReady); + }); + + EXPECT_CALL(*sender_ptr, Send(Matcher>(_))) + .WillOnce(Return(score::cpp::expected_blank{})); + + testing::StrictMock server_conn_mock; + + EXPECT_CALL(*receiver_ptr, + StartListening(Matcher(_), + Matcher(_), + Matcher(_), + Matcher(_))) + .WillOnce([&server_conn_mock](score::message_passing::ConnectCallback, + score::message_passing::DisconnectCallback, + score::message_passing::MessageCallback, + score::message_passing::MessageCallback send_with_reply_cb) { + const std::array message_data{0x01, 0x02, 0x03, 0x04}; + const score::cpp::span message_span{message_data}; + + const auto result = send_with_reply_cb(server_conn_mock, message_span); + static_cast(result); + + return score::cpp::expected_blank{}; + }); + + ExpectUnlinkMwsrWriterFile(); + ExpectServerDestruction(receiver_ptr); + ExpectClientDestruction(sender_ptr); + + client_->SetupReceiver(); + client_->ConnectToDatarouter(); +} + +TEST_F(DatarouterMessageClientFixture, StopRequestedDuringReceiverStartReportsShutdownDuringInitialization) +{ + auto* receiver_ptr = ExpectReceiverCreated(); + + ExpectBlockTerminationSignalPass(); + ExpectSetLoggerThreadName(); + + sender_mock_in_transit_ = score::cpp::pmr::make_unique>( + score::cpp::pmr::get_default_resource()); + auto* sender_ptr = sender_mock_in_transit_.get(); + + const score::message_passing::ServiceProtocolConfig service_protocol_config{ + kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, 0U}; + const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; + + EXPECT_CALL(*message_passing_factory_, + CreateClient(CompareServiceProtocol(service_protocol_config), CompareClientConfig(client_config))) + .WillOnce(Return(ByMove(std::move(sender_mock_in_transit_)))); + + EXPECT_CALL(*sender_ptr, + Start(Matcher(_), + Matcher(_))) + .WillOnce([](score::message_passing::IClientConnection::StateCallback state_callback, + score::message_passing::IClientConnection::NotifyCallback) { + state_callback(score::message_passing::IClientConnection::State::kReady); + }); + + // SendConnectMessage must never be reached + EXPECT_CALL(*sender_ptr, Send(Matcher>(_))).Times(0); + + testing::StrictMock server_conn_mock; + + EXPECT_CALL(*receiver_ptr, + StartListening(Matcher(_), + Matcher(_), + Matcher(_), + Matcher(_))) + .WillOnce([&server_conn_mock](score::message_passing::ConnectCallback, + score::message_passing::DisconnectCallback disconnect_cb, + score::message_passing::MessageCallback, + score::message_passing::MessageCallback) { + // Trigger disconnect during StartListening — this calls RequestInternalShutdown(), + // setting stop_source_ to stop_requested AFTER the earlier stop check in + // ConnectToDatarouter() has already passed. + disconnect_cb(server_conn_mock); + + return score::cpp::expected_blank{}; + }); + + ExpectUnlinkMwsrWriterFile(); + ExpectServerDestruction(receiver_ptr); + ExpectClientDestruction(sender_ptr); + + client_->SetupReceiver(); + client_->ConnectToDatarouter(); + + EXPECT_TRUE(stop_source_.stop_requested()); +} + +TEST_F(DatarouterMessageClientFixture, CreateSenderFailsWhenFactoryReturnsNullptr) +{ + auto* receiver_ptr = ExpectReceiverCreated(); + + ExpectBlockTerminationSignalPass(); + ExpectSetLoggerThreadName(); + + const score::message_passing::ServiceProtocolConfig service_protocol_config{ + kDatarouterReceiverIdentifier, kMaxSendBytes, 0U, 0U}; + const score::message_passing::IClientFactory::ClientConfig client_config{0, 10, false, true, false}; + + // Factory returns nullptr — this is the key to hitting the branch + EXPECT_CALL(*message_passing_factory_, + CreateClient(CompareServiceProtocol(service_protocol_config), CompareClientConfig(client_config))) + .WillOnce(Return(ByMove(nullptr))); + + // Since CreateSender fails, Start should never be called + // Since CreateSender fails, StartListening should never be called + EXPECT_CALL(*receiver_ptr, + StartListening(Matcher(_), + Matcher(_), + Matcher(_), + Matcher(_))) + .Times(0); + + ExpectUnlinkMwsrWriterFile(); + ExpectServerDestruction(receiver_ptr); + + client_->SetupReceiver(); + client_->ConnectToDatarouter(); + + EXPECT_TRUE(stop_source_.stop_requested()); +} + } // namespace } // namespace detail } // namespace log diff --git a/score/mw/log/detail/data_router/shared_memory/shared_memory_reader_test.cpp b/score/mw/log/detail/data_router/shared_memory/shared_memory_reader_test.cpp index 99ff9ef9..d251ab4c 100644 --- a/score/mw/log/detail/data_router/shared_memory/shared_memory_reader_test.cpp +++ b/score/mw/log/detail/data_router/shared_memory/shared_memory_reader_test.cpp @@ -136,6 +136,15 @@ TEST_F(SharedMemoryReaderFixture, RingBufferSizeShallReturnValueBasedOnControlBl EXPECT_EQ(kRingSize, shared_memory_reader.GetRingBufferSizeBytes()); } +TEST_F(SharedMemoryReaderFixture, GetterShallReadSharedDataNumberOfDropsWithTypeRegistrationFailed) +{ + + static constexpr Length kNumberOfDropsTypeRegistrationFailed{17UL}; + shared_data.number_of_drops_type_registration_failed.store(kNumberOfDropsTypeRegistrationFailed); + + EXPECT_EQ(kNumberOfDropsTypeRegistrationFailed, shared_memory_reader.GetNumberOfDropsWithTypeRegistrationFailed()); +} + TEST_F(SharedMemoryReaderFixture, UnmapCallbackShallBeCalledWhenDestructing) { RecordProperty("ParentRequirement", "SCR-861827, SCR-12206795"); diff --git a/score/mw/log/detail/utils/signal_handling/BUILD b/score/mw/log/detail/utils/signal_handling/BUILD index 1d564e8d..e2f495e1 100644 --- a/score/mw/log/detail/utils/signal_handling/BUILD +++ b/score/mw/log/detail/utils/signal_handling/BUILD @@ -12,6 +12,7 @@ # ******************************************************************************* load("@rules_cc//cc:defs.bzl", "cc_library") +load("@score_baselibs//:bazel/unit_tests.bzl", "cc_unit_test_suites_for_host_and_qnx") load("@score_baselibs//score/quality/clang_tidy:extra_checks.bzl", "clang_tidy_extra_checks") clang_tidy_extra_checks( @@ -49,3 +50,31 @@ cc_library( "@score_baselibs//score/os/utils:signal", ], ) + +cc_test( + name = "unit_test", + srcs = [ + "signal_handling_test.cpp", + ], + features = COMPILER_WARNING_FEATURES + [ + "aborts_upon_exception", + ], + tags = ["unit"], + visibility = ["@score_baselibs//score/mw/log/detail:__pkg__"], + deps = [ + ":signal_handling", + "@googletest//:gtest_main", + "@score_baselibs//score/language/futurecpp:futurecpp_test_support", + "@score_baselibs//score/os/utils/mocklib:signal_mock", + ], +) + +cc_unit_test_suites_for_host_and_qnx( + name = "unit_tests", + cc_unit_tests = [ + ":unit_test", + ], + visibility = [ + "@score_baselibs//score/mw/log/detail:__pkg__", + ], +) diff --git a/score/mw/log/detail/utils/signal_handling/signal_handling_test.cpp b/score/mw/log/detail/utils/signal_handling/signal_handling_test.cpp new file mode 100644 index 00000000..19c3defc --- /dev/null +++ b/score/mw/log/detail/utils/signal_handling/signal_handling_test.cpp @@ -0,0 +1,146 @@ +#include "score/mw/log/detail/utils/signal_handling/signal_handling.h" +#include "score/os/errno.h" +#include "score/os/utils/mocklib/signalmock.h" + +#include "gmock/gmock.h" +#include "gtest/gtest.h" +#include +#include +namespace score::mw::log::detail +{ +namespace +{ +using ::testing::_; +using ::testing::Return; + +class SignalHandlingTest : public ::testing::Test +{ + protected: + void SetUp() override + { + signal_mock_ = new score::os::SignalMock(); + } + + void TearDown() override + { + delete signal_mock_; + } + + score::os::SignalMock* signal_mock_; +}; + +// ============================================================ +// PThreadBlockSigTerm tests +// ============================================================ + +TEST_F(SignalHandlingTest, PThreadBlockSigTerm_SigEmptySetFails_ReturnsError) +{ + EXPECT_CALL(*signal_mock_, SigEmptySet(_)) + .WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createUnspecifiedError()))); + + EXPECT_CALL(*signal_mock_, SigAddSet(_, _)).Times(0); + EXPECT_CALL(*signal_mock_, PthreadSigMask(_, _)).Times(0); + + auto result = SignalHandling::PThreadBlockSigTerm(*signal_mock_); + EXPECT_FALSE(result.has_value()); +} + +TEST_F(SignalHandlingTest, PThreadBlockSigTerm_SigAddSetFails_ReturnsError) +{ + EXPECT_CALL(*signal_mock_, SigEmptySet(_)).WillOnce(Return(score::cpp::expected{0})); + + EXPECT_CALL(*signal_mock_, SigAddSet(_, SIGTERM)) + .WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createUnspecifiedError()))); + + EXPECT_CALL(*signal_mock_, PthreadSigMask(_, _)).Times(0); + + auto result = SignalHandling::PThreadBlockSigTerm(*signal_mock_); + EXPECT_FALSE(result.has_value()); +} + +TEST_F(SignalHandlingTest, PThreadBlockSigTerm_PthreadSigMaskFails_ReturnsError) +{ + EXPECT_CALL(*signal_mock_, SigEmptySet(_)).WillOnce(Return(score::cpp::expected{0})); + + EXPECT_CALL(*signal_mock_, SigAddSet(_, SIGTERM)).WillOnce(Return(score::cpp::expected{0})); + + EXPECT_CALL(*signal_mock_, PthreadSigMask(SIG_BLOCK, _)) + .WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createUnspecifiedError()))); + + auto result = SignalHandling::PThreadBlockSigTerm(*signal_mock_); + EXPECT_FALSE(result.has_value()); +} + +TEST_F(SignalHandlingTest, PThreadBlockSigTerm_AllSucceed_ReturnsSuccess) +{ + EXPECT_CALL(*signal_mock_, SigEmptySet(_)).WillOnce(Return(score::cpp::expected{0})); + + EXPECT_CALL(*signal_mock_, SigAddSet(_, SIGTERM)).WillOnce(Return(score::cpp::expected{0})); + + EXPECT_CALL(*signal_mock_, PthreadSigMask(SIG_BLOCK, _)) + .WillOnce(Return(score::cpp::expected{0})); + + auto result = SignalHandling::PThreadBlockSigTerm(*signal_mock_); + EXPECT_TRUE(result.has_value()); + EXPECT_EQ(result.value(), 0); +} + +// ============================================================ +// PThreadUnblockSigTerm tests +// ============================================================ + +TEST_F(SignalHandlingTest, PThreadUnblockSigTerm_SigEmptySetFails_ReturnsError) +{ + EXPECT_CALL(*signal_mock_, SigEmptySet(_)) + .WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createUnspecifiedError()))); + + EXPECT_CALL(*signal_mock_, SigAddSet(_, _)).Times(0); + EXPECT_CALL(*signal_mock_, PthreadSigMask(_, _)).Times(0); + + auto result = SignalHandling::PThreadUnblockSigTerm(*signal_mock_); + EXPECT_FALSE(result.has_value()); +} + +TEST_F(SignalHandlingTest, PThreadUnblockSigTerm_SigAddSetFails_ReturnsError) +{ + EXPECT_CALL(*signal_mock_, SigEmptySet(_)).WillOnce(Return(score::cpp::expected{0})); + + EXPECT_CALL(*signal_mock_, SigAddSet(_, SIGTERM)) + .WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createUnspecifiedError()))); + + EXPECT_CALL(*signal_mock_, PthreadSigMask(_, _)).Times(0); + + auto result = SignalHandling::PThreadUnblockSigTerm(*signal_mock_); + EXPECT_FALSE(result.has_value()); +} + +TEST_F(SignalHandlingTest, PThreadUnblockSigTerm_PthreadSigMaskFails_ReturnsError) +{ + EXPECT_CALL(*signal_mock_, SigEmptySet(_)).WillOnce(Return(score::cpp::expected{0})); + + EXPECT_CALL(*signal_mock_, SigAddSet(_, SIGTERM)).WillOnce(Return(score::cpp::expected{0})); + + EXPECT_CALL(*signal_mock_, PthreadSigMask(SIG_UNBLOCK, _)) + .WillOnce(Return(score::cpp::make_unexpected(score::os::Error::createUnspecifiedError()))); + + auto result = SignalHandling::PThreadUnblockSigTerm(*signal_mock_); + EXPECT_FALSE(result.has_value()); +} + +TEST_F(SignalHandlingTest, PThreadUnblockSigTerm_AllSucceed_ReturnsSuccess) +{ + EXPECT_CALL(*signal_mock_, SigEmptySet(_)).WillOnce(Return(score::cpp::expected{0})); + + EXPECT_CALL(*signal_mock_, SigAddSet(_, SIGTERM)).WillOnce(Return(score::cpp::expected{0})); + + EXPECT_CALL(*signal_mock_, PthreadSigMask(SIG_UNBLOCK, _)) + .WillOnce(Return(score::cpp::expected{0})); + + auto result = SignalHandling::PThreadUnblockSigTerm(*signal_mock_); + EXPECT_TRUE(result.has_value()); + EXPECT_EQ(result.value(), 0); +} + +} // namespace + +} // namespace score::mw::log::detail From 17a03c62b467ce76dc83db164f4f794251760803 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Fri, 17 Apr 2026 13:30:08 +0200 Subject: [PATCH 37/49] Fix deps for oss export GIT_ORIGIN_SPP_REV_ID: 128b5082e574b9e97072cadec1380e995d54d3e5 --- score/datarouter/BUILD | 2 ++ score/datarouter/dlt_filetransfer_trigger_lib/BUILD | 1 + score/mw/log/detail/file_recorder/BUILD | 2 +- score/mw/log/legacy_non_verbose_api/BUILD | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/score/datarouter/BUILD b/score/datarouter/BUILD index 70761ed2..f36fb9fc 100644 --- a/score/datarouter/BUILD +++ b/score/datarouter/BUILD @@ -209,6 +209,7 @@ cc_library( ":log", ":logparser_interface", "//score/mw/log/detail/data_router/shared_memory:reader", + "@score_baselibs//score/mw/log/configuration:nvconfig", "@score_baselibs//score/static_reflection_with_serialization/serialization", ], ) @@ -901,6 +902,7 @@ cc_binary( ], deps = [ ":datarouter_app", + "@score_baselibs//score/os:errno_logging", "@score_baselibs//score/os:pthread", "@score_baselibs//score/os/utils:path", # "//third_party/jemalloc", # Ticket-231781 diff --git a/score/datarouter/dlt_filetransfer_trigger_lib/BUILD b/score/datarouter/dlt_filetransfer_trigger_lib/BUILD index 72af8fe4..a7d6f44c 100644 --- a/score/datarouter/dlt_filetransfer_trigger_lib/BUILD +++ b/score/datarouter/dlt_filetransfer_trigger_lib/BUILD @@ -47,6 +47,7 @@ cc_library( ], deps = [ "filetransfer_message_types", + "//score/mw/log/legacy_non_verbose_api", "@score_logging//score/datarouter:log", ], ) diff --git a/score/mw/log/detail/file_recorder/BUILD b/score/mw/log/detail/file_recorder/BUILD index a822c060..c39f6e2f 100644 --- a/score/mw/log/detail/file_recorder/BUILD +++ b/score/mw/log/detail/file_recorder/BUILD @@ -83,8 +83,8 @@ cc_library( ], deps = [ ":file_recorder", + "@score_baselibs//score/mw/log:minimal", "@score_baselibs//score/mw/log/configuration", - "@score_baselibs//score/mw/log/detail:empty_recorder", "@score_baselibs//score/mw/log/detail:initialization_reporter", "@score_baselibs//score/mw/log/detail:log_recorder_factory", ], diff --git a/score/mw/log/legacy_non_verbose_api/BUILD b/score/mw/log/legacy_non_verbose_api/BUILD index 09890eea..cc573333 100644 --- a/score/mw/log/legacy_non_verbose_api/BUILD +++ b/score/mw/log/legacy_non_verbose_api/BUILD @@ -37,7 +37,7 @@ cc_library( "//platform/aas/ara/log:__subpackages__", "//score/mw/log:__subpackages__", "@score_baselibs//score/mw/log:__subpackages__", - "@score_logging//score/datarouter:__pkg__", + "@score_logging//score/datarouter:__subpackages__", ], deps = [ "//score/mw/log/detail/data_router/shared_memory:writer", From 7e5177fc6945e338e47c02c8a14b8bbd0f3381ea Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Fri, 17 Apr 2026 11:40:44 +0200 Subject: [PATCH 38/49] Datarouter: Concurrency issues fix GIT_ORIGIN_SPP_REV_ID: e0b7ad4970fd2c429b3f24fb0106d2f9f8539fd7 --- score/datarouter/include/daemon/dlt_log_server.h | 1 + score/datarouter/src/daemon/dlt_log_server.cpp | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/score/datarouter/include/daemon/dlt_log_server.h b/score/datarouter/include/daemon/dlt_log_server.h index 219eeb2f..7c25f9bb 100644 --- a/score/datarouter/include/daemon/dlt_log_server.h +++ b/score/datarouter/include/daemon/dlt_log_server.h @@ -134,6 +134,7 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut double GetQuota(std::string name) { + std::lock_guard lock(config_mutex_); auto quota = throughput_apps_.find(DltidT(name)); return quota == throughput_apps_.end() ? 1.0 : quota->second; } diff --git a/score/datarouter/src/daemon/dlt_log_server.cpp b/score/datarouter/src/daemon/dlt_log_server.cpp index 0dce7ff5..b8ff3c56 100644 --- a/score/datarouter/src/daemon/dlt_log_server.cpp +++ b/score/datarouter/src/daemon/dlt_log_server.cpp @@ -65,11 +65,15 @@ void DltLogServer::SendFtVerbose(score::cpp::span data, const auto sender = [&data, &loglevel, &app_id, &ctx_id, &nor, &tmsp, this](DltLogChannel& c) { log_sender_->SendFTVerbose(data, loglevel, app_id, ctx_id, nor, tmsp, c); }; - // Coredump channel SIZE_MAX value means that there the configuration settings - // don't explicitly specify the coredump channel - if (coredump_channel_.has_value()) + // Read coredump_channel_ under config_mutex_ to avoid data race with InitLogChannels + std::optional coredump_ch; { - sender(channels_[coredump_channel_.value()]); + std::lock_guard lock(config_mutex_); + coredump_ch = coredump_channel_; + } + if (coredump_ch.has_value()) + { + sender(channels_[coredump_ch.value()]); } else { From e22636db1e8b791f28e807b5993657eb43d4ec59 Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Fri, 17 Apr 2026 15:48:22 +0200 Subject: [PATCH 39/49] Datarouter: Extract GetCoredumpChannel function GIT_ORIGIN_SPP_REV_ID: 50e09c454781c4d1ac09ef22fa6e890c021ca579 --- score/datarouter/include/daemon/dlt_log_server.h | 10 ++++++++-- score/datarouter/include/daemon/i_dlt_log_server.h | 2 +- score/datarouter/mocks/daemon/dlt_log_server_mock.h | 2 +- score/datarouter/src/daemon/dlt_log_server.cpp | 10 +++------- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/score/datarouter/include/daemon/dlt_log_server.h b/score/datarouter/include/daemon/dlt_log_server.h index 7c25f9bb..bfcf4077 100644 --- a/score/datarouter/include/daemon/dlt_log_server.h +++ b/score/datarouter/include/daemon/dlt_log_server.h @@ -172,7 +172,7 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut bool GetDltEnabled() const noexcept; - std::string ReadLogChannelNames() override; + std::string ReadLogChannelNames() const override; std::string ResetToDefault() override; std::string StoreDltConfig() override; std::string SetTraceState() override; @@ -190,6 +190,12 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut // This is used for test purpose only in google tests, to have an access to the private members. // Do not use this calls in implementation except unit tests. class DltLogServerTest; + inline std::optional GetCoredumpChannel() const + { + // Read coredump_channel_ under config_mutex_ to avoid data race with InitLogChannels + std::lock_guard lock(config_mutex_); + return coredump_channel_; + } private: using KeyT = std::pair; @@ -274,7 +280,7 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut return FindInKeyMap(channel_assignments_, app_id, ctx_id).value_or(ChannelmaskT{}); } - std::mutex config_mutex_; + mutable std::mutex config_mutex_; bool filtering_enabled_; std::atomic dlt_output_enabled_; diff --git a/score/datarouter/include/daemon/i_dlt_log_server.h b/score/datarouter/include/daemon/i_dlt_log_server.h index c4ea6420..fdcdd1cb 100644 --- a/score/datarouter/include/daemon/i_dlt_log_server.h +++ b/score/datarouter/include/daemon/i_dlt_log_server.h @@ -43,7 +43,7 @@ enum class AssignmentAction : std::uint8_t class IDltLogServer { public: - virtual std::string ReadLogChannelNames() = 0; + virtual std::string ReadLogChannelNames() const = 0; virtual std::string ResetToDefault() = 0; virtual std::string StoreDltConfig() = 0; virtual std::string SetTraceState() = 0; diff --git a/score/datarouter/mocks/daemon/dlt_log_server_mock.h b/score/datarouter/mocks/daemon/dlt_log_server_mock.h index a151fee6..f03bca53 100644 --- a/score/datarouter/mocks/daemon/dlt_log_server_mock.h +++ b/score/datarouter/mocks/daemon/dlt_log_server_mock.h @@ -30,7 +30,7 @@ namespace mock class DltLogServerMock : public IDltLogServer { public: - MOCK_METHOD(std::string, ReadLogChannelNames, (), (override)); + MOCK_METHOD(std::string, ReadLogChannelNames, (), (const, override)); MOCK_METHOD(std::string, ResetToDefault, (), (override)); MOCK_METHOD(std::string, StoreDltConfig, (), (override)); MOCK_METHOD(std::string, SetTraceState, (), (override)); diff --git a/score/datarouter/src/daemon/dlt_log_server.cpp b/score/datarouter/src/daemon/dlt_log_server.cpp index b8ff3c56..c687b293 100644 --- a/score/datarouter/src/daemon/dlt_log_server.cpp +++ b/score/datarouter/src/daemon/dlt_log_server.cpp @@ -65,14 +65,10 @@ void DltLogServer::SendFtVerbose(score::cpp::span data, const auto sender = [&data, &loglevel, &app_id, &ctx_id, &nor, &tmsp, this](DltLogChannel& c) { log_sender_->SendFTVerbose(data, loglevel, app_id, ctx_id, nor, tmsp, c); }; - // Read coredump_channel_ under config_mutex_ to avoid data race with InitLogChannels - std::optional coredump_ch; - { - std::lock_guard lock(config_mutex_); - coredump_ch = coredump_channel_; - } + const auto coredump_ch = GetCoredumpChannel(); if (coredump_ch.has_value()) { + // channels_ shall be immutable after construction sender(channels_[coredump_ch.value()]); } else @@ -282,7 +278,7 @@ void DltLogServer::ClearDatabase() writer_callback_(PersistentConfig{}); } -std::string DltLogServer::ReadLogChannelNames() +std::string DltLogServer::ReadLogChannelNames() const { std::string response(1, config::kRetError); From fbc6bbe9cf862e3a4b58e7cfac1fd977ac0d0ad4 Mon Sep 17 00:00:00 2001 From: Pawel Pyszko Date: Fri, 17 Apr 2026 18:41:02 +0200 Subject: [PATCH 40/49] Datarouter: Move GetCoredumpChannel to private API GIT_ORIGIN_SPP_REV_ID: 8d41a4d7033c4e5ca42d3341335e935064b3d6b2 --- score/datarouter/include/daemon/dlt_log_server.h | 13 +++++++------ score/datarouter/src/daemon/dlt_log_server.cpp | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/score/datarouter/include/daemon/dlt_log_server.h b/score/datarouter/include/daemon/dlt_log_server.h index bfcf4077..598121ab 100644 --- a/score/datarouter/include/daemon/dlt_log_server.h +++ b/score/datarouter/include/daemon/dlt_log_server.h @@ -190,12 +190,6 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut // This is used for test purpose only in google tests, to have an access to the private members. // Do not use this calls in implementation except unit tests. class DltLogServerTest; - inline std::optional GetCoredumpChannel() const - { - // Read coredump_channel_ under config_mutex_ to avoid data race with InitLogChannels - std::lock_guard lock(config_mutex_); - return coredump_channel_; - } private: using KeyT = std::pair; @@ -241,6 +235,13 @@ class DltLogServer : score::platform::datarouter::DltNonverboseHandlerType::IOut } } + inline std::optional GetCoredumpChannel() const + { + // Read coredump_channel_ under config_mutex_ to avoid data race with InitLogChannels + std::lock_guard lock(config_mutex_); + return coredump_channel_; + } + template static std::optional FindInKeyMap(const KeyMap& m, DltidT app_id, DltidT ctx_id) { diff --git a/score/datarouter/src/daemon/dlt_log_server.cpp b/score/datarouter/src/daemon/dlt_log_server.cpp index c687b293..8f6b1b45 100644 --- a/score/datarouter/src/daemon/dlt_log_server.cpp +++ b/score/datarouter/src/daemon/dlt_log_server.cpp @@ -283,7 +283,7 @@ std::string DltLogServer::ReadLogChannelNames() const std::string response(1, config::kRetError); std::lock_guard lock(config_mutex_); - for (auto& channel : channels_) + for (const auto& channel : channels_) { AppendId(channel.channel_name, response); } From 22e2449cf6ac0567ad9d075906fd7436782d3031 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Tue, 21 Apr 2026 09:26:56 +0200 Subject: [PATCH 41/49] Move diagrams to respective design docs - backend related diagrams moved to respective design docs directory. GIT_ORIGIN_SPP_REV_ID: d9919cdb62618a54b5165b4226aa2f0cb993f7ac --- .../log/design/backend/file_output_backend.md | 47 ++++ .../design/backend/mw_log_file_backend.puml | 263 ++++++++++++++++++ .../log/design/backend/mw_log_recorders.puml | 172 ++++++++++++ ...ssage_client_impl_connecttodatarouter.puml | 35 +++ .../datarouter_backend/lock_free_concept.md | 229 --------------- .../mw_log_datarouter_recorder.puml | 60 ++++ .../mw_log_shared_memory_reader.puml | 81 ++++++ .../shared_memory_reader_read.puml | 74 +++++ .../shared_memory_writer_allocandwrite.puml | 33 +++ .../write_factory_design.puml | 70 +++++ 10 files changed, 835 insertions(+), 229 deletions(-) create mode 100644 score/mw/log/design/backend/file_output_backend.md create mode 100644 score/mw/log/design/backend/mw_log_file_backend.puml create mode 100644 score/mw/log/design/backend/mw_log_recorders.puml create mode 100644 score/mw/log/design/datarouter_backend/datarouter_message_client_impl_connecttodatarouter.puml delete mode 100644 score/mw/log/design/datarouter_backend/lock_free_concept.md create mode 100644 score/mw/log/design/datarouter_backend/mw_log_datarouter_recorder.puml create mode 100644 score/mw/log/design/datarouter_backend/mw_log_shared_memory_reader.puml create mode 100644 score/mw/log/design/datarouter_backend/shared_memory_reader_read.puml create mode 100644 score/mw/log/design/datarouter_backend/shared_memory_writer_allocandwrite.puml create mode 100644 score/mw/log/design/datarouter_backend/write_factory_design.puml diff --git a/score/mw/log/design/backend/file_output_backend.md b/score/mw/log/design/backend/file_output_backend.md new file mode 100644 index 00000000..d180a7ae --- /dev/null +++ b/score/mw/log/design/backend/file_output_backend.md @@ -0,0 +1,47 @@ +# FileOutputBackend + +`LogFlushBackend` implements `mw::log::Backend`. It is responsible for providing +buffers by means of `ReserveSlot()` call and writing data using provided +callable object when the buffer is returned by the user by means of calling +`FlushSlot()`. It assumes non-blocking calls and implements measures to store +and manage buffers till all the data is pushed out in subsequent calls. Logs +are stored in a circular buffer in the case when the current `LogRecord` is not +completely flushed due to provided sink method not consuming all the data. The +rest of the data is to be pushed in subsequent calls to `FlushSlot` looping over +a circular buffer to reduce the queue of unprocessed logs in the order provided +by the caller. Whenever each `LogRecord` is flushed completely, the buffer is +released to the allocator by Release Slot. +In case of depletion of a fixed number of buffers, none is returned to the +caller rather than overwriting old ones. +The zero-copy approach was used inside the backend design. Circular buffers +store objects of `SlotHandle` type which is just a handle to buffers storing +data. It is part of the job of the Recorder to format and copy content into the +buffers. +The zero-copy principle does not hold for the data provided at a level of and +above Recorder. +Configuration of the backend is done through resources passed down in +constructor arguments consisting of slot allocator and circular buffer. + +Design decision has been made to make backend independent of loosely coupled +to details of data it processes which is presented by `LogRecord` type. To do +so object providing `IMessageBuilder` interface is passed down by Recorder to +allow access data in polymorphic way. This interface makes it possible to access +set of sequential data buffers in order they should be serialized into a file +or onto the console. +`MessageBuilder` is responsible for serving data in correct order of flushing +into file or console and stores some of common parts of the header. + +![Static Design](./score/mw/log/design/mw_log_file_backend.puml) + +`SlotDrainer` is responsible for storing and disposal of already serialized +data. First data gets inserted into circular buffer. After that step program +flow enters a loop that iterates over available slots in ring buffer and then +by means of `NonBlockingWriter` iterates over all spans of each message. + +![Sequence Design](./score/mw/log/design/slot_drainer_sequence_design.puml) + +Flush procedure exits whenever all available data is written to the file or +writing procedure would block i.e. write operation reports that number of bytes +written is less then requested. + +![Action Diagram](./score/mw/log/design/slot_drainer_action_diagram_design.puml) diff --git a/score/mw/log/design/backend/mw_log_file_backend.puml b/score/mw/log/design/backend/mw_log_file_backend.puml new file mode 100644 index 00000000..6e0e85d6 --- /dev/null +++ b/score/mw/log/design/backend/mw_log_file_backend.puml @@ -0,0 +1,263 @@ +@startuml mw_log_file_backend + +' Classes +class "mw::log::Recorder" as Recorder { + + StartRecord(ctx:std::string_view, ll:LogLevel): score::cpp::optional + + StopRecord(slot:SlotHandle&) + + Log( T data ) - family of functions + __ + - backend:unique_ptr + __ + Responsibilities: + -- Opens and closes file. + Uses formatters to serialize + user data and header. +} + +interface "mw::log::detail::Backend" as Backend { + + ReserveSlot(): score::cpp::optional + + FlushSlot(const SlotHandle&) + + GetLogRecord(const SlotHandle&): LogRecord& +} + +class "mw::log::detail::FileOutputBackend" as FileOutputBackend { + - buffer_allocator_: std::unique_ptr> + - slot_drainer_:SlotDrainer + __ + + FileOutputBackend(std::unique_ptr,\n const std::int32_t,\n std::unique_ptr>,\n std::unique_ptr) + + ReserveSlot():score::cpp::optional + + FlushSlot(const SlotHandle&):void + + GetLogRecord(const SlotHandle&): LogRecord& + __ + Responsibilities + -- keeps statistics of dropped messages +} + +class "mw::log::detail::SlotDrainer" as SlotDrainer { + - allocator_: std::unique_ptr>& + - message_builder_:std::unique_ptr + - context_mutex_:std::mutex + - circular_buffer_:score::cpp::circular_buffer + - current_slot_:score::cpp::optional> + - non_blocking_writer_: NonBlockingWriter + - limit_slots_in_one_cycle_: const std::size_t + __ + + SlotDrainer(std::unique_ptr,\n std::unique_ptr>&,\n const std::int32_t,\n const std::size_t,\n std::unique_ptr) + + PushBack(const SlotHandle&):void + + Flush():void + __ + - TryFlushSlots(): score::cpp::expected + - TryFlushSpans(): score::cpp::expected + - MoreSlotsAvailableAndLoaded():bool + - MoreSpansAvailableAndLoaded():bool + __ + Responsibilities + -- Drains slots - empties circular_buffer + when subsequent data has been flushed + -- Returns status if data was flushed or stalled +} + +class "mw::log::detail::NonBlockingWriter" as NonBlockingWriter { + - unistd_: std::unique_ptr + - file_handle_: std::int32_t + - number_of_flushed_bytes_: uint64_t + - buffer_: score::cpp::span + - buffer_flushed_: Result + - max_chunk_size_: std::size_t + __ + + NonBlockingWriter(const std::int32_t, std::size_t, std::unique_ptr) + + FlushIntoFile(): score::cpp::expected + + SetSpan(const score::cpp::span&): void + + GetMaxChunkSize(): std::size_t + __ + - InternalFlush(const uint64_t): score::cpp::expected + __ + Responsibilities + -- Write logs into file +} + +interface "mw::log::detail::IMessageBuilder" as IMessageBuilder { + + GetNextSpan() : score::cpp::optional> + + SetNextMessage(LogRecord&): void + __ + Responsibility: + iterates over spans of data to be + serialized into output stream. +} + +class "mw::log::detail::DltMessageBuilder" as DltMessageBuilder { + + DltMessageBuilder(ecu_id) + + GetNextSpan() : score::cpp::optional> + + SetNextMessage(LogRecord&): void +} + +class "mw::log::detail::TextMessageBuilder" as TextMessageBuilder { + + TextMessageBuilder(app_id, ecu_id, ) + + GetNextSpan() : score::cpp::optional> + + SetNextMessage(log_record:LogRecord&): void +} + +class "mw::log::detail::CircularAllocator" as CircularAllocator { + - claimed_sequence_:std::atomic + - buffer_:std::vector> + __ + + CircularAllocator(std::size_t, const T&) + + AcquireSlotToWrite(): score::cpp::optional + + GetUnderlyingBufferFor(std::size_t): T& + + ReleaseSlot(std::size_t):void + + GetUsedCount():size_t +} + +class "score::cpp::circular_buffer" as CircularBuffer { + Responsibilities + -- stores elements of static size + -- overwrites data when full + -- realizes FIFO pattern +} + +class "mw::log::detail::Slot" as Slot { + + data: T + + in_use: std::atomic +} + +class "mw::log::detail::LogRecord" as LogRecord #Orange { + - logEntry_:LogEntry + - verbosePayload_:VerbosePayload + __ + LogRecord(const std::size_t) + getLogEntry(): LogEntry& + getLogEntry(): const LogEntry& + getVerbosePayload(): VerbosePayload& + getVerbosePayload(): const VerbosePayload& +} + +class "VerbosePayload" as VerbosePayload { +} + +class "LoggingIdentifier" as LoggingIdentifier { +} + +class "mw::log::detail::BackendLogMock" as BackendLogMock #Pink { + + ReserveSlot(): score::cpp::optional + + FlushSlot(const SlotHandle&) + + GetLogRecord(const SlotHandle&): LogRecord& +} + +class "OSAL::Unistd" as OsalUnistd1 { +} + +class "OSAL::Unistd" as OsalUnistd2 { +} + +class "OSAL::fcntl" as Fcntl { +} + +' Relationships +Recorder *-- Backend +Backend <|.. FileOutputBackend +Backend <|.. BackendLogMock + +FileOutputBackend *-- SlotDrainer +FileOutputBackend *-- CircularAllocator + +SlotDrainer *-- NonBlockingWriter +SlotDrainer *-- CircularBuffer +SlotDrainer *-- CircularAllocator +SlotDrainer *-- IMessageBuilder + +NonBlockingWriter *-- OsalUnistd1 +NonBlockingWriter ..> OsalUnistd1 : write + +IMessageBuilder <|-- DltMessageBuilder +IMessageBuilder <|-- TextMessageBuilder + +CircularAllocator "0..n" *-- Slot +CircularAllocator ..> CircularAllocator : GetUnderlyingBufferFor()\nReleaseSlot() + +FileOutputBackend ..> CircularAllocator : AcquireSlotToWrite()\nGetUnderlyingBufferFor() +SlotDrainer ..> CircularAllocator : GetUnderlyingBufferFor()\nReleaseSlot() + +CircularBuffer ..> CircularAllocator : Created based on CircularAllocatorSize + +DltMessageBuilder *-- LoggingIdentifier +DltMessageBuilder *-- VerbosePayload +TextMessageBuilder *-- LoggingIdentifier +TextMessageBuilder *-- VerbosePayload + +Recorder ..> Fcntl : open\nSetNonBlocking / fctrl call +Recorder ..> OsalUnistd2 : close + +' Notes +note right of NonBlockingWriter + Test strategy: + Inject OSAL mock + by constructor argument + with default value +end note + +note right of FileOutputBackend + Test strategy: + Inject NonBlocking Writer + and using OSAL mock + Configure circular buffer size + Use MessageBuilderMock +end note + +note right of IMessageBuilder + Test strategy: + Insert the data, verify outcome +end note + +note top of CircularBuffer + Test strategy: + using score::cpp::circular_buffer + not tested here +end note + +note bottom of CircularBuffer + By design we exclude possibility of dropped + messages in CircularBuffer because the + size of SlotAllocator is smaller or less + than CircularBuffer size. + + Size of score::cpp::CircularBuffer +end note + +note right of LogRecord + Test strategy: + Tested in data_router +end note + +note bottom of FileOutputBackend + Test strategy: + Test just a glue code and + not underlying classes + Inject SlotDrainer with + mocked OSAL + Use MessageBuilderMock + + Only place that messages + may be dropped for the + reason of failure to get buffer + from SlotAllocator +end note + +note bottom of BackendLogMock + Mock +end note + +note bottom of LogRecord + Note.. + + Used for data types + that differ from message to message +end note + +note as SyncNote + Synchronised access only: guarded by SlotDrainer context mutex. +end note + +SyncNote .. IMessageBuilder +SyncNote .. NonBlockingWriter + +@enduml diff --git a/score/mw/log/design/backend/mw_log_recorders.puml b/score/mw/log/design/backend/mw_log_recorders.puml new file mode 100644 index 00000000..7a3959d2 --- /dev/null +++ b/score/mw/log/design/backend/mw_log_recorders.puml @@ -0,0 +1,172 @@ +@startuml mw_log_recorders + +' Interface +interface "mw::log::Recorder" as Recorder { + + StartRecord(ctx:std::string_view, log_level:LogLevel) : score::cpp::optional + + StopRecord(slot:SlotHandle&): void + + Log(const SlotHandle&, const T data) - family of functions + + IsLogEnabled(const LogLevel&, const std::string_view): bool +} + +' Interface +interface "mw::log::detail::Backend" as Backend { + + ReserveSlot() : score::cpp::optional + + FlushSlot(slot : const SlotHandle&) + + GetLogRecord(slot : const SlotHandle&): LogRecord& +} + +' Recorder implementations +class "mw::log::detail::FileRecorder" as FileRecorder { + - backend_ : std::unique_ptr + - config_ : Configuration + __ + + FileRecorder(const detail::Configuration&,\n std::unique_ptr) + + StartRecord(ctx:std::string_view, const LogLevel): score::cpp::optional + + StopRecord(const SlotHandle&): void + + IsLogEnabled(const LogLevel&, const std::string_view): bool + + Log(const SlotHandle&, T data) - family of functions +} + +class "mw::log::detail::TextRecorder" as TextRecorder { + - backend_ : std::unique_ptr + - config_ : Configuration + - check_log_level_for_console_: bool + __ + + TextRecorder(const detail::Configuration&,\n std::unique_ptr,\n const bool) + + StartRecord(ctx:std::string_view, const LogLevel): score::cpp::optional + + StopRecord(const SlotHandle&): void + + IsLogEnabled(const LogLevel&, const std::string_view): bool + + Log(const SlotHandle&, T data) - family of functions +} + +class "mw::log::detail::DataRouterRecorder" as DataRouterRecorder { +} + +class "mw::log::detail::CompositeRecorder" as CompositeRecorder { + - recorders_ : std::vector> + __ + + CompositeRecorder(std::vector> recorders) + + StartRecord(const std::string_view, const LogLevel): score::cpp::optional + + StopRecord(slot:SlotHandle&): void + + GetRecorders(): std::vector>& + + IsLogEnabled(const LogLevel&, const std::string_view): bool + + Log(const SlotHandle&, const T) - family of functions +} + +class "mw::log::detail::EmptyRecorder" as EmptyRecorder { + + StartRecord(const std::string_view, const LogLevel):\n score::cpp::optional + + StopRecord(const SlotHandle&): void + + IsLogEnabled(const LogLevel&, const std::string_view): bool + + Log(const SlotHandle&, T data) - family of functions +} + +class "mw::log::detail::RecorderMock" as RecorderMock #pink { +} + +' Backend implementations +class "mw::log::detail::FileOutputBackend" as FileOutputBackend { +} + +class "mw::log::detail::SlogBackend" as SlogBackend { + - app_id_: std::string + - buffer_: CircularAllocator + - slog_buffer_: slog2_buffer_t + - slog_buffer_config_: slog2_buffer_set_config_t + - slog2_instance_: std::unique_ptr + __ + + SlogBackend(const std::size_t,\n const LogRecord&,\n const std::string_view,\n std::unique_ptr) + + ReserveSlot(): score::cpp::optional + + FlushSlot(const SlotHandle&): void + + GetLogRecord(const SlotHandle&): LogRecord& + __ + - Init(verbosity: std::uint8_t) : void +} + +class "mw::log::detail::DataRouterBackend" as DataRouterBackend { +} + +class "mw::log::detail::BackendMock" as BackendMock #pink { +} + +' Helper classes +class "DltArgumentCounter" as DltArgumentCounter { + - counter_ : std::uint8_t& + __ + DltArgumentCounter(std::uint8_t&) + __ + + TryAddArgument(add_argument_callback) : AddArgumentResult +} + +class "mw::log::detail::TextFormat" as TextFormat { + {static} + PutFormattedTime(VerbosePayload&) : void + {static} + TerminateLog(VerbosePayload&) : void + {static} + Log(VerbosePayload&, const T, const IntegerRepresentation) : void\n - family of functions + {static} + Log(VerbosePayload&, const T) : void\n - family of functions +} + +class "mw::log::detail::DLTFormat" as DLTFormat { + + Log(VerbosePayload&, const bool): AddArgumentResult + + Log(VerbosePayload&, T, const IntegerRepresentation):\n AddArgumentResult - family of functions +} + +class "mw::log::detail::CircularAllocator" as CircularAllocator { +} + +class "mw::log::detail::LogRecord" as LogRecord { +} + +' External dependencies +class "OSAL::fcntl" as fcntl { +} + +class "OSAL::Unistd" as Unistd { +} + +' Relationships - Recorder interface +FileRecorder .up.|> Recorder +TextRecorder .up.|> Recorder +DataRouterRecorder .up.|> Recorder +CompositeRecorder .up.|> Recorder +EmptyRecorder .up.|> Recorder +RecorderMock .up.|> Recorder + +' Relationships - Backend interface +FileOutputBackend .up.|> Backend +SlogBackend .up.|> Backend +DataRouterBackend .up.|> Backend +BackendMock .up.|> Backend + +' Composition relationships +FileRecorder *-- Backend +FileRecorder *-- DltArgumentCounter +TextRecorder *-- Backend +TextRecorder *-- DltArgumentCounter +DataRouterRecorder *-- Backend + +' Dependencies +FileRecorder ..> TextFormat : Log +FileRecorder ..> DLTFormat : uses +TextRecorder ..> TextFormat : Log +DataRouterRecorder ..> DLTFormat : uses +TextRecorder ..> DLTFormat : uses + +' Backend composition +SlogBackend *-- CircularAllocator +SlogBackend --> LogRecord : uses + +' External dependencies +FileRecorder ..> fcntl : open\nSetNonBlocking / fctrl call +FileRecorder ..> Unistd : close + +' Notes +note bottom of Recorder + Refer Recorder.h for all the Log(const SlotHandle&, const T data) + - family of functions +end note + +note top of TextFormat + Refer text_format.h for all the Log(...) + - family of functions +end note + +@enduml diff --git a/score/mw/log/design/datarouter_backend/datarouter_message_client_impl_connecttodatarouter.puml b/score/mw/log/design/datarouter_backend/datarouter_message_client_impl_connecttodatarouter.puml new file mode 100644 index 00000000..9bc688b8 --- /dev/null +++ b/score/mw/log/design/datarouter_backend/datarouter_message_client_impl_connecttodatarouter.puml @@ -0,0 +1,35 @@ +@startuml +!theme plain +title DatarouterMessageClientImpl::ConnectToDatarouter + +partition "DatarouterMessageClientImpl::ConnectToDatarouter" { + start + + :Block termination Signal; + note right + **Note:** + The logger thread (owned by adaptive application) + should not react to the Terminate Signal. Instead + the Terminate Signal should be handled by + mw::lifecycle for Adaptive applications. + end note + + :Create sender; + + :Start receiver; + + if (Receiver started?) then (Yes) + if (Is exit requsted?) then (No) + :Send connect message; + else (Yes) + endif + else (No) + :Unlink shared memory file; + :Request stop for connection; + :Shutdown thread pool; + endif + + stop +} + +@enduml diff --git a/score/mw/log/design/datarouter_backend/lock_free_concept.md b/score/mw/log/design/datarouter_backend/lock_free_concept.md deleted file mode 100644 index f29d683a..00000000 --- a/score/mw/log/design/datarouter_backend/lock_free_concept.md +++ /dev/null @@ -1,229 +0,0 @@ -# Lock-free logging with Datarouter backend - -- [Lock-free logging with Datarouter backend](#lock-free-logging-with-datarouter-backend) - - [Problem statement](#problem-statement) - - [Mutually exclusive ring buffer implementation](#mutually-exclusive-ring-buffer-implementation) - - [Towards a lock-free implementation](#towards-a-lock-free-implementation) - - [Solution A: Predictive Serializer](#solution-a-predictive-serializer) - - [Solution B: Ring buffer array: One ring buffer for each critical thread](#solution-b-ring-buffer-array-one-ring-buffer-for-each-critical-thread) - - [Comparison: implementation complexity VS configuration complexity](#comparison-implementation-complexity-vs-configuration-complexity) - - [Conclusion](#conclusion) - - -## Problem statement - -The logging public API is thread safe. It supports that users call logging from -multiple threads in parallel without external synchronization. Consider the -following example: - -```C++ -void Thread1(){ - LogInfo() << "Hello"; -} - -void Thread2(){ - LogInfo() << "Foobar"; -} -``` - -In addition, the user expects that the execution of the logging call does not -block on other threads. This is formulated by the robust design measures -([SCR-861518][1]) requirements to ensure freedom from interference (FFI). - -1. Cross-locking: Cross-application and cross-thread dependencies shall be - avoided. A thread logging in a loop shall not block other thread's execution. - ([SCR-861578][2]) - -2. Avoid locks: ara::log shall be free of time-unbound locks and shall implement - strategies to limit wait time. Time limit shall be defined based on - requirements from functions on individual ECU. Mutual exclusion mechanisms - shall include priority inversion protection. ([SCR-1016724][3]) - -In the current implementation these requirements are violated because a mutex is -used to exclusively access a ring buffer. Thus it can be seen in applications -with many concurrent threads that invoke logging that there is mutex contention -and blocking: - -![Trace from Ticket-47483](trace_blocking.png) - -The trace from [Ticket-47483][4] illustrates this problem clearly: Both the -sensor_cleaning and condition_evalu threads are logging concurrently and -execution is blocking each other. Thus the runtime behavior is such as if the -threads are running on a single CPU core due to the mutex. - -The implementation of the logging library needs to change to avoid such blocking -behavior and fullfil `SCR-861578` and `SCR-1016724`. - -## Mutually exclusive ring buffer implementation - -To understand how the logging library was implemented initially with a central -mutex we need to dive into the details. For a verbose message the information -flow looks like this. - -1. Creation of LogStream instance - -On the creation of LogStream instance a slot is reserved on in the private -address space of the app. - -```C++ -auto log_stream = LogInfo(...); -``` - -The slot memory is reserved by mw::log on -initialization. For the reservation of a slot a lock-free algorithm is used. The -algorithm in essence iterates over all slots and picks the first available slot. -If no slot is available, the log message is dropped. This algorithm is -implemented using atomics and therefore lock free and has a fixed upper runtime -bound. - -```C++ -log_stream << "my message"; -``` - -The user then fills this slot with data that comprise the verbose -message. - -2. Flush of the LogStream - -```C++ -log_stream.Flush(); -``` - -When the user determines that the log message is complete the LogStream is -flushed. Then the content of the slot is copied into a ring buffer using -`MwsrWriter`. The ring buffer is allocated in a shared memory space and is read -by Datarouter. Datarouter is another process that has read only access to the -ring buffer via shared memory. The mechanism for flushing a log stream is same -as a sending a non-verbose message. In both cases the TRACE macro is used to -submit the message to Datarouter. - -3. Inside the TRACE macro - -```C++ -TRACE(log_entry); -``` - -Up until this point the logic is without mutex and lock free. Inside the TRACE -macro we now enter the critical section: - -```C++ -logger::instancePtr->wr_.allocAndWrite([this, &t](auto data, auto size) { - using s = ::score::common::visitor::logging_serializer; - auto idsize = s::serialize(id_, data, size); - return idsize + s::serialize(t, data + idsize, size - idsize); - }); -``` - -`allocAndWrite()` is a member of the `MwsrWriter` class that handles the access -to shared memory. It accepts a callback that provides a span to the reserved - memory in the ring buffer. In pseudo code, `allocAndWrite()` works like this: - -```C++ -void allocAndWrite(timestamp_t timestamp, Callback callback) { - lock(); - addr, available_space = ReserveMaximumRingBufferSpace(); - auto used_bytes = callback(addr, available_space); - ShrinkRingBufferToActuallyNeedSpace(used_bytes); - unlock(); -} -``` - -Thus the `allocAndWrite()` function defines a critical section that is mutually -exclusive for all calls to the logging API. The implementation was done in this -way because the serializer cannot tell in advance how many bytes the output will -have. Thus a maximum message length is at first reserved in the buffer, then the -serializer runs and returns the actual length of the output. Finally the ring -buffer shrinks again to the actual used size. Obviously such an implementation -cannot work concurrently. As each message is directly placed after the -previous message in the ring buffer it needs to know where the previous message -ends. Thus it has to wait until the completion of the previous message. - -## Towards a lock-free implementation - -Changing the implementation to avoid mutex contention we have at least two options: - -(A) Implement a predictive serializer that can output the needed capacity for a -message in advance before serialization. - -(B) Introduce one individual ring buffer for each 'critical' thread. - -### Solution A: Predictive Serializer - -Since the serializer could predict how big a serialized message is going to be, -we can attempt to reserve that memory without blocking concurrent writers. Once -the memory is reserved concurrent writers can already reserve chunks directly -after the last reserved chunk. After a chunk is completely filled with the -serialized data, then we mark it as ready for reading by setting an atomic flag. -Using another atomic flag, the reader will mark a chunk as read. Then the -writing threads know that it is safe to reuse that memory for future entries -into the ring buffer. - -![Single concurrent ring buffer](single_concurrent_ring_buffer.svg) - -With this approach we would need to reach the following milestones - -1. Use the serializer library to output a size prediction. -2. Refactor MwsrWriter and MwsrReader to replace the mutex with lock free algorithms. - -Note that we could consider this approach without the predictive serializer. We -could allocate the maximum possible message length (around 64K) for each -message. The serializer could use the available space and the unused parts would -be left as padding. However, most messages only contain a few hundred bytes and -therefore reserving 64 K for each message would be a massive waste of RAM. As we -are strongly memory constrained on target, this simple but wasteful idea is not -feasible in practice. - -### Solution B: Ring buffer array: One ring buffer for each critical thread - -Alternatively we could consider introducing a ring buffer array for each -critical thread. By critical thread we mean threads that are defined by the user -that need the mutex-free behavior of the logging library. We forsee that not -each thread on the system will need such guarantees and thus we can save RAM by -minimizing the number of ring buffers we create. - -![Ring buffer array](ring_buffer_array.svg) - -With this approach we have the following milestones: - -1. Refactor MwrsWriter and MwsrReader to support multiple ring buffers - internally. -2. Adjust the side channel communication including Datarouter to support - multiple ring buffers. -3. Extend the configuration to allow for multiple ring buffers with different - sizes. -4. Apply the correct configuration for each user. - -Some practical concerns come to mind with this approach. For example how to -identify a critical thread on runtime. This could be done through the thread -name, but the thread name could change dynamically. Also some threads are -implemented by third parties (e.g. AA stack). For those it is hard to identify -which threads should be considered critical, and thread names might change over -time, or new threads are added. - -### Comparison: implementation complexity VS configuration complexity - -The main advantage of solution A is that it would be memory efficient. With -multiple ring buffer some memory would be wasted, as each ring buffer has to be -sized for the worst case load in order to avoid drops. - -One downside of solution A would be that the size prediction of the serializer -would cost some runtime performance. The serializer would probably run twice, -once in a 'visitor only mode' without copying any data just to determine the -size, and a second time doing the actual serialization. However, the visitation -step could be optimized further to reduce the runtime impact. - -Regarding solution B the implementation effort would be smaller as we don't have -to change the serializer. However, there is a higher burden on the user to -correctly specify all the critical threads in the logging configuration. Thus we -expect a longer and more complex integration phase with this approach. - -## Conclusion - -Due to the advantages of Solution A in terms of memory consumption and ease of -use we move forward with solution A. The main challenges thereby lie in the -refactoring of MwsrWriter to introduce a lock-free operation based on that. - -[1]: broken_link_c/issue/861518 -[2]: broken_link_c/issue/861578 -[3]: broken_link_c/issue/1016724 -[4]: broken_link_j/Ticket-47483 diff --git a/score/mw/log/design/datarouter_backend/mw_log_datarouter_recorder.puml b/score/mw/log/design/datarouter_backend/mw_log_datarouter_recorder.puml new file mode 100644 index 00000000..0a0e2b93 --- /dev/null +++ b/score/mw/log/design/datarouter_backend/mw_log_datarouter_recorder.puml @@ -0,0 +1,60 @@ +@startuml mw_log_datarouter_recorder + +class "DataRouterRecorder" as DataRouterRecorder { + - backend_: std::unique_ptr + - config_: Configuration + - statistics_reporter_: StatisticsReporter + __ + + DataRouterRecorder(std::unique_ptr&&, const Configuration&) + + StartRecord(const std::string_view, const LogLevel): score::cpp::optional + + StopRecord(const SlotHandle&): void + + Log(const SlotHandle&, const T) - family of functions + + IsLogEnabled(const LogLevel&, const std::string_view) : bool + __ + - LogData(const SlotHandle&, const T data): void + - SetApplicationId(LogRecord&): void +} + +class "StatisticsReporter" as StatisticsReporter { + - recorder_: Recorder& + - report_interval_: std::chrono::seconds + - number_of_slots_: std::size_t + - slot_size_bytes_: std::size_t + - no_slot_available_counter_: std::atomic + - message_too_long_counter_: std::atomic + - last_report_time_point_nanoseconds_: std::atomic + - currently_reporting_: std::atomic_bool + __ + + StatisticsReporter(Recorder&, const std::chrono::seconds,\n const std::size_t, const std::size_t) + + IncrementNoSlotAvailable(): void + + IncrementMessageTooLong(): void + + Update(const std::chrono::steady_clock::time_point&): void +} + +interface "IStatisticsReporter" as IStatisticsReporter { + + IncrementNoSlotAvailable(): void + + IncrementMessageTooLong(): void + + Update(const std::chrono::steady_clock::time_point&): void +} + +class "Configuration" as Configuration { +} + +class "DataRouterBackend" as DataRouterBackend { +} + +class "Recorder" as Recorder { +} + +class "mw::log::Runtime" as Runtime <> { +} + +' Relationships +Runtime --> DataRouterRecorder : is owned by +DataRouterRecorder *-- StatisticsReporter +DataRouterRecorder *-- Configuration +DataRouterRecorder *-- DataRouterBackend +StatisticsReporter ..|> IStatisticsReporter +StatisticsReporter --> Recorder : uses + +@enduml diff --git a/score/mw/log/design/datarouter_backend/mw_log_shared_memory_reader.puml b/score/mw/log/design/datarouter_backend/mw_log_shared_memory_reader.puml new file mode 100644 index 00000000..0ee176ef --- /dev/null +++ b/score/mw/log/design/datarouter_backend/mw_log_shared_memory_reader.puml @@ -0,0 +1,81 @@ +@startuml mw_log_shared_memory_reader + +package "mw::log" { + interface "ReaderFactory" as ReaderFactory { + + Create(const std::int32_t, const pid_t): score::cpp::optional + + Default(): std::unique_ptr + } + + class "ReaderFactoryImpl" as ReaderFactoryImpl { + - mman_: score::cpp::pmr::unique_ptr + - stat_: score::cpp::pmr::unique_ptr + __ + + Create(const std::int32_t, const pid_t): score::cpp::optional + } + + class "SharedMemoryReader" as SharedMemoryReader { + - shared_data_: SharedData& + - unmap_callback_: UnmapCallback + - linear_reader_: std::optional + - acquired_data_: std::optional + - number_of_acquired_bytes_: Length + - finished_reading_after_detach_: bool + - buffer_expected_to_read_next_: std::uint32_t + - is_writer_detached_: bool + - alternating_read_only_reader_: AlternatingReadOnlyReader + - DetachWriter(): void + - IsWriterDetached(): bool + __ + + SharedMemoryReader(const SharedData&, const score::cpp::span,\n const score::cpp::span, UnmapCallback) + + Read(const TypeRegistrationCallback&, const NewRecordCallback&): std::optional + + PeekNumberOfBytesAcquiredInBuffer(const std::uint32_t): std::optional + + ReadDetached(const TypeRegistrationCallback&, const NewRecordCallback&): std::optional + + GetNumberOfDropsWithBufferFull(): Length + + GetSizeOfDropsWithBufferFull(): Length + + GetNumberOfDropsWithInvalidSize(): Length + + GetRingBufferSizeBytes(): Length + + GetNumberOfAcquiredBytes(): Length + + IsBlockReleasedByWriters(): bool + + NotifyAcquisitionSetReader(const ReadAcquireResult&): std::optional + } + + class "SharedData" as SharedData <> { + } + + class "LinearReader" as LinearReader { + - data_: score::cpp::span + - read_index_: Length + __ + + LinearReader(const score::cpp::span&) + + Read(): score::cpp::optional> + } + + class "score::os::Mman" as Mman { + } + + class "score::os::Stat" as Stat { + } + + ' Relationships + ReaderFactory <|.. ReaderFactoryImpl + ReaderFactoryImpl ..> SharedMemoryReader : <> + ReaderFactoryImpl ..> Mman : <> + ReaderFactoryImpl ..> Stat : <> + SharedMemoryReader ..> SharedData : <> + SharedMemoryReader ..> LinearReader : <> +} + +package "score::platform::datarouter" { + class "DataRouter" as DataRouter { + - subscriberDatabase_: SubscriberDatabase + - databaseCallback_ : WriteSubscriberDatabaseCallback + __ + + new_source_session(): SessionPtr + + new_subscriber_session(): SessionPtr + } + + ' Relationship + DataRouter ..> ReaderFactory : <> +} + +@enduml diff --git a/score/mw/log/design/datarouter_backend/shared_memory_reader_read.puml b/score/mw/log/design/datarouter_backend/shared_memory_reader_read.puml new file mode 100644 index 00000000..de550cbe --- /dev/null +++ b/score/mw/log/design/datarouter_backend/shared_memory_reader_read.puml @@ -0,0 +1,74 @@ +@startuml shared_memory_reader_read + +title SharedMemoryReader::Read / ReadAcquiredData / CreateReaderForBuffer / ReadLinearBuffer / ReadRemainingDataIfWriterIsDetached + +|SharedMemoryReader::Read| +start +if (Finished reading after detach?) then ([Yes]) +else ([No]) + :ReadAquiredData; + :ReadRemainingDataIfWriterIsDetached; +endif +stop + +|ReadAcquiredData| +start +if (Is Data acquired?) then ([Yes]) + :CreateReaderForBuffer; + :ReadLinearBuffer; + :Set flag to indicate if buffer1 is expected + to read next is already acquired or not + based on acquired data; + :Reset acquired data; +else ([No]) +endif +stop + +|CreateReaderForBuffer| +start +if (Check flag that indicates what\nbuffer1 has acquired) then ([Not Acquired Buffer1]) + :control_block=control_block_1; +else ([Acquired Buffer1]) + :control_block=control_block_2; +endif +:Choose the relevant buffer; +:length = written index to respective control block; +:Number of acquired bytes = length; +:CreateLinearReaderFromDataAndLength; +stop + +|ReadLinearBuffer| +start +while (Read successfull?) is ([Yes]) + if (Length of Read result <\nbuffer entry header size) then ([Yes]) + else ([No]) + :Initialize header span\nfrom Read result; + :Copy header span to buffer entry\nheader; + :Initialize payload span\nfrom Read result; + if (Header type identifier\n== register type token) then ([Yes]) + if (Payload span length <\ntype registration ID) then ([Yes]) + else ([No]) + :Copy memory from payload\nspan to type registration ID; + :Type ID size = size of type\nregistration ID; + :Type registration data = subspan of\ntype ID size from payload span; + :Trigger type registration callback with\ncreated type registration; + endif + else ([No]) + :Init shared memory record with\nexisting header and payload span; + :Trigger new message callback\nwith shared memory record; + endif + endif +endwhile ([No]) +stop + +|ReadRemainingDataIfWriterIsDetached| +start +if (Is writer detached?) then ([Yes]) + :Reader = CreateReaderForBuffer; + :ReadLinearBuffer; + :Finished reading after detach = true; +else ([No]) +endif +stop + +@enduml diff --git a/score/mw/log/design/datarouter_backend/shared_memory_writer_allocandwrite.puml b/score/mw/log/design/datarouter_backend/shared_memory_writer_allocandwrite.puml new file mode 100644 index 00000000..ac1b0d81 --- /dev/null +++ b/score/mw/log/design/datarouter_backend/shared_memory_writer_allocandwrite.puml @@ -0,0 +1,33 @@ +@startuml shared_memory_writer_allocandwrite + +title SharedMemoryWriter::AllocAndWrite + +start + +if (Payload size > max payload size?) then ([Yes]) + :Increment number of drops counter + due to invalid size; + stop +else ([No]) +endif + +:Acquire data; + +if (Is data acquired?) then ([Yes]) +else ([No]) + :Increment number of drops counter + due to buffer full; + stop +endif + +:Write header; + +:Access memory; + +:Write payload; + +:Release acquired data; + +stop + +@enduml diff --git a/score/mw/log/design/datarouter_backend/write_factory_design.puml b/score/mw/log/design/datarouter_backend/write_factory_design.puml new file mode 100644 index 00000000..3fe4426c --- /dev/null +++ b/score/mw/log/design/datarouter_backend/write_factory_design.puml @@ -0,0 +1,70 @@ +@startuml write_factory_design +' Library dependencies +package "OSAL Abstractions" { + class Unistd + class Fcntl + class Stat + class Mman + class Stdlib +} + +package "log::detail" { + class WriterFactory { + +Create(ring_buffer_size, dynamic_mode, app_id) + +GetIdentifier() + +GetFileName() + -- + -OpenAndTruncateFile(buffer_total_size, file_name, flags) + -MapSharedMemory(buffer_total_size, memfd_write, file_name) + -GetAlignedRingBufferAddress(total_size, file_name, file_open_flags) + -IsMemoryAligned(ring_buffer_address) + -ConstructSharedData(ring_buffer_address, ring_buffer_size) + -UnlinkExistingFile(file_name) + -PrepareFileNameAndUpdateOpenFlags(file_open_flags, dynamic_mode, app_id) + -GetStaticLoggingClientFilename(app_id) + } + + class SharedMemoryWriter + class SharedData +} + +' Main relationships +WriterFactory --> SharedMemoryWriter : creates + +class Mman { + +mmap(addr, length, prot, flags, fd, offset) + +munmap(addr, length) +} + + +WriterFactory --> SharedData : initializes +WriterFactory --> Unistd : uses +WriterFactory --> Fcntl : uses +WriterFactory --> Stat : uses +WriterFactory --> Mman : uses mmap(), munmap() +WriterFactory --> Stdlib : uses + +' Notes on memory allocation and deallocation +note right of WriterFactory::MapSharedMemory + Memory is allocated using Mman::mmap(), which maps a file into a shared memory region. + The size of the region is determined by the buffer_total_size parameter. + The mapped memory is used as a ring buffer for logging. + An unmap callback is set up to ensure memory is released when no longer needed. +end note + +note top of WriterFactory + WriterFactory: + - Creates and manages a shared memory ring buffer for logging. + - Allocates memory using mmap (via Mman), ensures cleanup with munmap. + - Handles file creation, naming, permissions, and instantiates SharedMemoryWriter. +end note + +note bottom of Mman + Mman abstracts POSIX memory management for safety and portability. + - mmap(addr, length, prot, flags, fd, offset): Maps files/devices into memory. + - munmap(addr, length): Releases mapped memory, preventing leaks. + All error codes are propagated to the caller for robust error handling. +end note + +SharedMemoryWriter --> SharedData : owns +@enduml From e7614f38a44da6f05bf869bb58c53c46c084c02b Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Tue, 21 Apr 2026 09:53:21 +0200 Subject: [PATCH 42/49] Update verbose_logging sequence diagrams - Adds console_logging sequence in top-level since its default. - Moves remote verbose_logging sequence to datarouter backend design GIT_ORIGIN_SPP_REV_ID: cbab224559081a60940cff75a4dd244f0a5bc4c4 --- .../verbose_logging_sequence.puml | 106 +++++++ .../verbose_logging_static.puml | 283 ++++++++++++++++++ 2 files changed, 389 insertions(+) create mode 100644 score/mw/log/design/datarouter_backend/verbose_logging_sequence.puml create mode 100644 score/mw/log/design/datarouter_backend/verbose_logging_static.puml diff --git a/score/mw/log/design/datarouter_backend/verbose_logging_sequence.puml b/score/mw/log/design/datarouter_backend/verbose_logging_sequence.puml new file mode 100644 index 00000000..fb324059 --- /dev/null +++ b/score/mw/log/design/datarouter_backend/verbose_logging_sequence.puml @@ -0,0 +1,106 @@ +@startuml verbose_logging_sequence + +participant "_:App_" as App +participant "FreeFunctions" as FreeFunctions +participant "LogStreamFactory" as LogStreamFactory +participant "Runtime" as Runtime +participant "_:LogStream_" as LogStream +participant "_:DataRouterRecorder_" as DataRouterRecorder +participant "DLTFormater" as DLTFormater +participant "_:DataRouterBackend_" as DataRouterBackend + +activate App + +App -> FreeFunctions : score::mw::log::Error() + +FreeFunctions -> LogStreamFactory : GetStream(LogLevel) + +activate LogStreamFactory + +LogStreamFactory -> Runtime : GetRecorder() +Runtime -> DataRouterRecorder : creates +LogStreamFactory <-- Runtime : Recorder + +LogStreamFactory -> LogStream : construct + +activate LogStream + +LogStream -> DataRouterRecorder : StartRecord(ctx, LogLevel) +activate DataRouterRecorder + +DataRouterRecorder -> DataRouterBackend : ReserveSlot() +activate DataRouterBackend +DataRouterRecorder <-- DataRouterBackend : score::cpp::optional +deactivate DataRouterBackend + +LogStream <-- DataRouterRecorder : score::cpp::optional +deactivate DataRouterRecorder + +LogStreamFactory <-- LogStream : LogStream +deactivate LogStream + +FreeFunctions <-- LogStreamFactory : LogStream +deactivate LogStreamFactory + +App <-- FreeFunctions : LogStream + +App -> LogStream : << Some Data + +activate LogStream + +LogStream -> DataRouterRecorder : log(SlotHandle, Data) +activate DataRouterRecorder + +DataRouterRecorder -> DataRouterBackend : GetStream(SlotHandle) +activate DataRouterBackend +DataRouterRecorder <-- DataRouterBackend : std::streambuf& +deactivate DataRouterBackend + +DataRouterRecorder -> DLTFormater : Log(std::streambuf&, data) +activate DLTFormater + +DLTFormater -> DLTFormater : write formated data\ninto stream + +DataRouterRecorder <-- DLTFormater +deactivate DLTFormater + +LogStream <-- DataRouterRecorder +deactivate DataRouterRecorder + +App <-- LogStream : LogStream +deactivate LogStream + +App -> LogStream : Destruct + +activate LogStream + +LogStream -> DataRouterRecorder : StopRecord(SlotHandle) +activate DataRouterRecorder + +DataRouterRecorder -> DataRouterBackend : FlushSlot(SlotHandle) +activate DataRouterBackend + +participant "TRACE" as TRACE + +DataRouterBackend -> TRACE : TRACE(LogEntry) + +DataRouterRecorder <-- DataRouterBackend +deactivate DataRouterBackend + +LogStream <-- DataRouterRecorder +deactivate DataRouterRecorder + +destroy LogStream + +App <-- LogStream + +deactivate App + +note right of TRACE #red + This part will be removed in future, + once we can directly stream into MrWriter + this will then remove any + dynamic memory allocation. +end note + +@enduml diff --git a/score/mw/log/design/datarouter_backend/verbose_logging_static.puml b/score/mw/log/design/datarouter_backend/verbose_logging_static.puml new file mode 100644 index 00000000..0a7fd5ca --- /dev/null +++ b/score/mw/log/design/datarouter_backend/verbose_logging_static.puml @@ -0,0 +1,283 @@ +@startuml verbose_logging_static + +skinparam classBackgroundColor white +skinparam classBorderColor black +skinparam ArrowColor black +skinparam NoteBackgroundColor white +skinparam NoteBorderColor black +skinparam packageStyle rectangle + +title This diagram only illustrates the use-case of verbose logging. + +' ============================================================ +' LEFT SIDE: NOT MOCKABLE PART +' ============================================================ + +package "Not Mockable Part" as NotMockablePart { + + class "score::mw::LogLevel" as LogLevel <> { + kOff + kFatal + kError + kWarn + kInfo + kDebug + kVerbose + } + + class "SlotHandle::RecorderIdentifier" as RecorderIdentifier { + + value: std::size_t + } + + class "score::mw::log::SlotHandle" as SlotHandle { + - recorder_to_slot_: std::array + - recorder_slot_available_: std::bitset + - selected_recorder_: RecorderIdentifier + -- + + SlotHandle() + + SlotHandle(const SlotIndex) + + GetSlotOfSelectedRecorder(): SlotIndex + + GetSlot(const RecorderIdentifier): SlotIndex + + SetSlot(const SlotIndex, const RecorderIdentifier): void + + GetSelectedRecorder(): RecorderIdentifier + + SetSelectedRecorder(const RecorderIdentifier): void + + IsRecorderActive(const RecorderIdentifier): bool + + friend operator==(const SlotHandle& l_value, const SlotHandle& r_value): bool + + friend operator!=(const SlotHandle& l_value, const SlotHandle& r_value): bool + + kMaxRecorders: static constexpr std::size_t + } + + class "score::mw::log::detail::Runtime" as Runtime { + - Runtime(Recorder* const recorder) + - {static} Instance(Recorder* const): Runtime& + - logger_container_instance_: LoggerContainer + - recorder_instance_: Recorder + - default_recorder_: std::unique_ptr + -- + + {static} GetRecorder(): Recorder* + + {static} SetRecorder(Recorder*): void + + {static} GetLoggerContainer(): score::mw::log::LoggerContainer& + } + + class "score::mw::LogStream" as LogStream { + - recorder_: Recorder& + - slot_handle_: score::cpp::optional + - context_id_: detail::LoggingIdentifier + - log_level_: LogLevel + - LogStream(Recorder&, const LogLevel, const std::string_view) + -- + + LogStream(LogStream&&) + + Flush(): void + } + + class "score::mw::log::detail::LogStreamFactory" as LogStreamFactory { + + {static} GetStream(LogLevel, ctxId: std::string_view = "DFLT"): LogStream + } + + package "User-Facing API" as UserFacingAPI { + class "LoggingIdentifier" as LoggingIdentifier { + } + + class "score::mw::Logger" as Logger { + - context_: LoggingIdentifier + -- + + Logger(std::string_view ctxId) + + LogFatal(): LogStream + + LogError(): LogStream + + LogWarn(): LogStream + + LogInfo(): LogStream + + LogDebug(): LogStream + + LogVerbose(): LogStream + + WithLevel(const LogLevel): log::LogStream + + IsLogEnabled(const LogLevel): bool + + IsEnabled(const LogLevel): bool + + GetContext(): std::string_view + } + + class "Free Functions" as FreeFunctions { + + score::mw::LogFatal(): LogStream + + score::mw::LogError(): LogStream + + score::mw::LogWarn(): LogStream + + score::mw::LogInfo(): LogStream + + score::mw::LogDebug(): LogStream + + score::mw::LogVerbose(): LogStream + + score::mw::LogFatal(std::string_view): LogStream + + score::mw::LogError(std::string_view): LogStream + + score::mw::LogWarn(std::string_view): LogStream + + score::mw::LogInfo(std::string_view): LogStream + + score::mw::LogDebug(std::string_view): LogStream + + score::mw::LogVerbose(std::string_view): LogStream + + score::mw::GetDefaultLogRecorder(): Recorder& + + score::mw::test::SetLogRecorder(score::mw::log::Recorder* const): void + } + } +} + +' ============================================================ +' RIGHT SIDE: MOCKABLE PART +' ============================================================ + +package "Mockable Part" as MockablePart { + class "score::mw::log::LoggerContainer" as LoggerContainer { + - InsertNewLogger(const std::string_view): Logger& + - FindExistingLogger(const std::string_view): score::cpp::optional> + - stack_: WaitFreeStack + - default_logger_: Logger + -- + + GetLogger(const std::string_view): Logger& + + GetCapacity(): size_t + + GetDefaultLogger(): Logger& + } + + class "template \nscore::mw::log::detail::WaitFreeStack" as WaitFreeStack { + - elements_: std::vector> + - elements_written_: std::vector + - write_index_: AtomicIndex + - capacity_full_: AtomicBool + -- + + WaitFreeStack(const size_t) + + TryPush(Element&&): score::cpp::optional> + + Find(const FindPredicate&): score::cpp::optional> + } + + class "TextFormat" as TextFormat { + } + + interface "score::mw::log::Recorder" as Recorder { + + Recorder() + + {abstract} StartRecord(context_id: std::string_view, LogLevel): score::cpp::optional + + {abstract} StopRecord(SlotHandle const&): void + + {abstract} Log(SlotHandle, std::uint8_t): void + + {abstract} Log(SlotHandle, std::int8_t): void + } + + note as N_RecorderUsage #blue + A user is allowed to use the Recorder interface + for its abstraction. But its not recommended due + to its more complicated usage. + end note + + class "DataRouterRecorder" as DataRouterRecorder { + } + + class "TextRecorder" as TextRecorder { + } + + class "FileRecorder" as FileRecorder { + } + + class "EmptyRecorder" as EmptyRecorder { + } + + class "Configuration" as Configuration { + } + + class "StatisticsReporter" as StatisticsReporter { + } + + interface "score::mw::log::detail::Backend" as Backend { + + {abstract} ReserveSlot(): score::cpp::optional + + {abstract} FlushSlot(const SlotHandle&) + + {abstract} GetLogRecord(const SlotHandle&): LogRecord& + } + + class "score::mw::log::detail::DataRouterBackend" as DataRouterBackend { + + ReserveSlot(): score::cpp::optional + + FlushSlot(const SlotHandle&): void + + GetLogRecord(const SlotHandle&): LogRecord& + -- + buffer_: CircularAllocator + message_client_: std::unique_ptr + } + + note as N_DataRouterRecorder #red + For the time beeing, + DataRouterRecorder will not only be a facade + but contain DLT specific logic. + In this case calling + StartRecord() and StopRecord() + end note + + class "score::mw::log::detail::LogRecord" as LogRecord { + - logEntry_: LogEntry + - verbosePayload_: VerbosePayload + -- + + getLogEntry(): LogEntry& + + getLogEntry: const LogEntry& + + getVerbosePayload(): detail::VerbosePayload& + + getVerbosePayload(): const detail::VerbosePayload& + } + + class "TRACE_MACRO" as TRACE_MACRO { + } + + class "LogEntry" as LogEntry { + + appId: dltid_t + + ctxId: dltid_t + + sessionId: dltid_t + + logLevel: uint8_t + + num_of_args: int8_t + + payload: std::string + } + + class "score::mw::log::detail::VerbosePayload" as VerbosePayload { + - buffer_: std::reference_wrapper + -- + + VerbosePayload(std::size_t, std::string&) + + Put(const Byte*, const std::size_t): void + + Put(const ReserveCallback, const std::size_t): std::size_t + + GetSpan(): score::cpp::span + + Reset(): void + + WillOverflow(const std::size_t): bool + + RemainingCapacity(): std::size_t + + SetBuffer(ByteVector&): void + } + +} + +' ============================================================ +' RELATIONS - NON-MOCKABLE PART +' ============================================================ + +LogStreamFactory <-down- Logger : uses +LogStreamFactory <-down- FreeFunctions : uses +LogStreamFactory -up-> LogStream : create +SlotHandle *-up-> LogStream : owns +LoggingIdentifier *-down-> Logger : owns + +' ============================================================ +' RELATIONS - CROSSING MOCKABLE BOUNDARY +' ============================================================ + +Runtime -down-> LogStreamFactory : get current\nrecorder +Runtime -down-> FreeFunctions +LogStream *-right-> Recorder : records data +Runtime *-right-> Recorder : owns statically +Runtime *-up-> LoggerContainer : owns +LoggerContainer *-right-> WaitFreeStack : owns +LoggerContainer *-down-> Logger : owns + +' ============================================================ +' RELATIONS - MOCKABLE PART +' ============================================================ + +DataRouterRecorder .up.|> Recorder +TextRecorder .up.|> Recorder +FileRecorder .up.|> Recorder +EmptyRecorder .up.|> Recorder + +DataRouterRecorder *-down-> Configuration : get application\nspecific config +DataRouterRecorder *-down-> StatisticsReporter +DataRouterRecorder *-down-> DataRouterBackend : << reserve and flush slots >> + +DataRouterBackend .up.|> Backend +DataRouterBackend *-down-> LogRecord : << creates and fills >> + +LogRecord *-down-> LogEntry : << creates and fills >> +LogRecord *-down-> VerbosePayload : << creates and fills >> + +TextFormat ..> Recorder : Log + +DataRouterBackend <-down- TRACE_MACRO : << on sync >> + +@enduml From 776cb6e2e6a858c7a5771f6544ad875c34b773d1 Mon Sep 17 00:00:00 2001 From: Raghavendra Maddikery Date: Tue, 21 Apr 2026 10:00:13 +0200 Subject: [PATCH 43/49] Consolidate all backend design docs in backend dir GIT_ORIGIN_SPP_REV_ID: 323217f4c4b79ad6d86a89d0da1eaa39f26ec46e --- .../{ => backend}/datarouter_backend/README.md | 0 .../datarouter_backend_datarouterbackend.puml | 0 .../datarouter_class_diagram.puml | 0 ...essage_client_impl_connecttodatarouter.puml | 0 .../inter_process_communication.puml | 0 .../mw_log_datarouter_recorder.puml | 0 .../mw_log_shared_memory_reader.puml | 0 .../shared_memory_reader_read.puml | 0 .../shared_memory_writer_allocandwrite.puml | 0 .../verbose_logging_sequence.puml | 0 .../verbose_logging_static.puml | 0 .../write_factory_design.puml | 0 .../datarouter_backend/ring_buffer_array.svg | 4 ---- .../single_concurrent_ring_buffer.svg | 4 ---- .../datarouter_backend/trace_blocking.png | Bin 210226 -> 0 bytes 15 files changed, 8 deletions(-) rename score/mw/log/design/{ => backend}/datarouter_backend/README.md (100%) rename score/mw/log/design/{ => backend}/datarouter_backend/datarouter_backend_datarouterbackend.puml (100%) rename score/mw/log/design/{ => backend}/datarouter_backend/datarouter_class_diagram.puml (100%) rename score/mw/log/design/{ => backend}/datarouter_backend/datarouter_message_client_impl_connecttodatarouter.puml (100%) rename score/mw/log/design/{ => backend}/datarouter_backend/inter_process_communication.puml (100%) rename score/mw/log/design/{ => backend}/datarouter_backend/mw_log_datarouter_recorder.puml (100%) rename score/mw/log/design/{ => backend}/datarouter_backend/mw_log_shared_memory_reader.puml (100%) rename score/mw/log/design/{ => backend}/datarouter_backend/shared_memory_reader_read.puml (100%) rename score/mw/log/design/{ => backend}/datarouter_backend/shared_memory_writer_allocandwrite.puml (100%) rename score/mw/log/design/{ => backend}/datarouter_backend/verbose_logging_sequence.puml (100%) rename score/mw/log/design/{ => backend}/datarouter_backend/verbose_logging_static.puml (100%) rename score/mw/log/design/{ => backend}/datarouter_backend/write_factory_design.puml (100%) delete mode 100644 score/mw/log/design/datarouter_backend/ring_buffer_array.svg delete mode 100644 score/mw/log/design/datarouter_backend/single_concurrent_ring_buffer.svg delete mode 100644 score/mw/log/design/datarouter_backend/trace_blocking.png diff --git a/score/mw/log/design/datarouter_backend/README.md b/score/mw/log/design/backend/datarouter_backend/README.md similarity index 100% rename from score/mw/log/design/datarouter_backend/README.md rename to score/mw/log/design/backend/datarouter_backend/README.md diff --git a/score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.puml b/score/mw/log/design/backend/datarouter_backend/datarouter_backend_datarouterbackend.puml similarity index 100% rename from score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.puml rename to score/mw/log/design/backend/datarouter_backend/datarouter_backend_datarouterbackend.puml diff --git a/score/mw/log/design/datarouter_backend/datarouter_class_diagram.puml b/score/mw/log/design/backend/datarouter_backend/datarouter_class_diagram.puml similarity index 100% rename from score/mw/log/design/datarouter_backend/datarouter_class_diagram.puml rename to score/mw/log/design/backend/datarouter_backend/datarouter_class_diagram.puml diff --git a/score/mw/log/design/datarouter_backend/datarouter_message_client_impl_connecttodatarouter.puml b/score/mw/log/design/backend/datarouter_backend/datarouter_message_client_impl_connecttodatarouter.puml similarity index 100% rename from score/mw/log/design/datarouter_backend/datarouter_message_client_impl_connecttodatarouter.puml rename to score/mw/log/design/backend/datarouter_backend/datarouter_message_client_impl_connecttodatarouter.puml diff --git a/score/mw/log/design/datarouter_backend/inter_process_communication.puml b/score/mw/log/design/backend/datarouter_backend/inter_process_communication.puml similarity index 100% rename from score/mw/log/design/datarouter_backend/inter_process_communication.puml rename to score/mw/log/design/backend/datarouter_backend/inter_process_communication.puml diff --git a/score/mw/log/design/datarouter_backend/mw_log_datarouter_recorder.puml b/score/mw/log/design/backend/datarouter_backend/mw_log_datarouter_recorder.puml similarity index 100% rename from score/mw/log/design/datarouter_backend/mw_log_datarouter_recorder.puml rename to score/mw/log/design/backend/datarouter_backend/mw_log_datarouter_recorder.puml diff --git a/score/mw/log/design/datarouter_backend/mw_log_shared_memory_reader.puml b/score/mw/log/design/backend/datarouter_backend/mw_log_shared_memory_reader.puml similarity index 100% rename from score/mw/log/design/datarouter_backend/mw_log_shared_memory_reader.puml rename to score/mw/log/design/backend/datarouter_backend/mw_log_shared_memory_reader.puml diff --git a/score/mw/log/design/datarouter_backend/shared_memory_reader_read.puml b/score/mw/log/design/backend/datarouter_backend/shared_memory_reader_read.puml similarity index 100% rename from score/mw/log/design/datarouter_backend/shared_memory_reader_read.puml rename to score/mw/log/design/backend/datarouter_backend/shared_memory_reader_read.puml diff --git a/score/mw/log/design/datarouter_backend/shared_memory_writer_allocandwrite.puml b/score/mw/log/design/backend/datarouter_backend/shared_memory_writer_allocandwrite.puml similarity index 100% rename from score/mw/log/design/datarouter_backend/shared_memory_writer_allocandwrite.puml rename to score/mw/log/design/backend/datarouter_backend/shared_memory_writer_allocandwrite.puml diff --git a/score/mw/log/design/datarouter_backend/verbose_logging_sequence.puml b/score/mw/log/design/backend/datarouter_backend/verbose_logging_sequence.puml similarity index 100% rename from score/mw/log/design/datarouter_backend/verbose_logging_sequence.puml rename to score/mw/log/design/backend/datarouter_backend/verbose_logging_sequence.puml diff --git a/score/mw/log/design/datarouter_backend/verbose_logging_static.puml b/score/mw/log/design/backend/datarouter_backend/verbose_logging_static.puml similarity index 100% rename from score/mw/log/design/datarouter_backend/verbose_logging_static.puml rename to score/mw/log/design/backend/datarouter_backend/verbose_logging_static.puml diff --git a/score/mw/log/design/datarouter_backend/write_factory_design.puml b/score/mw/log/design/backend/datarouter_backend/write_factory_design.puml similarity index 100% rename from score/mw/log/design/datarouter_backend/write_factory_design.puml rename to score/mw/log/design/backend/datarouter_backend/write_factory_design.puml diff --git a/score/mw/log/design/datarouter_backend/ring_buffer_array.svg b/score/mw/log/design/datarouter_backend/ring_buffer_array.svg deleted file mode 100644 index 1c2a885c..00000000 --- a/score/mw/log/design/datarouter_backend/ring_buffer_array.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Ring Buffer Array (Shared Memory)
Ring Buffer Arra...
header
header
Payload
Payload
header
header
Payload
Payload
Thread A
is writing 
Thread A...
Thread B
is writing
Thread B...
header
header
Payload
Payload
Free space
Free space
Ring Buffer 0
Ring Buffe...
Ring Buffer 1
Ring Buffe...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/score/mw/log/design/datarouter_backend/single_concurrent_ring_buffer.svg b/score/mw/log/design/datarouter_backend/single_concurrent_ring_buffer.svg deleted file mode 100644 index 83a2d8b3..00000000 --- a/score/mw/log/design/datarouter_backend/single_concurrent_ring_buffer.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - -
Ring Buffer (Shared Memory)
Ring Buffer (Sha...
read_index: atomic_int
read_index: a...
read: atomic_bool
ready: atomic_bool
length: size_t
read: atomic_bool...
Payload
Payload
read: atomic_bool
ready: atomic_bool
length: size_t
read: atomic_bool...
Payload
Payload
write_index: atomic_int
write_inde...
Thread A
is writing 
Thread A...
read: atomic_bool
ready: atomic_bool
length: size_t
read: atomic_bool...
Payload
Payload
Thread B
is writing
Thread B...
Datarouter
is reading
Datarouter...
Update through
side-channel IPC
Update thro...
Process bounday
Process bo...
Read-only access to shared memory
Read-only access to...
Free space
Free space
Text is not SVG - cannot display
\ No newline at end of file diff --git a/score/mw/log/design/datarouter_backend/trace_blocking.png b/score/mw/log/design/datarouter_backend/trace_blocking.png deleted file mode 100644 index 4e3e77ffcba4d60b0fa842f1e3398dc43f0ee7fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 210226 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�W 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 ZPuy7$Q9G)es#VKi`uuMbzFD&Q{{Wxu_Qe1I From 2bd43c5557f3457599af8a36851895db9fe895ab Mon Sep 17 00:00:00 2001 From: Vaishnavi Yendole Date: Tue, 21 Apr 2026 11:20:27 +0200 Subject: [PATCH 44/49] Update diagram references in README files for restructured design docs - mw/log/design/README.md: point to new console logging and default recorders diagrams - backend/datarouter_backend/README.md: fix paths to backend/datarouter_backend/ directory - backend/file_output_backend.md: fix path to backend/ GIT_ORIGIN_SPP_REV_ID: 00557233d5a1fb34076be86c71b8cc15684599dd --- score/mw/log/design/backend/datarouter_backend/README.md | 8 ++++---- score/mw/log/design/backend/file_output_backend.md | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/score/mw/log/design/backend/datarouter_backend/README.md b/score/mw/log/design/backend/datarouter_backend/README.md index 90ec8705..1a402d16 100644 --- a/score/mw/log/design/backend/datarouter_backend/README.md +++ b/score/mw/log/design/backend/datarouter_backend/README.md @@ -50,7 +50,7 @@ communication over the side channel, we establish two independent unidirectional channels. On the highest level of abstraction we see the ASIL-B qualified client process on the one side and the datarouter process on the other -![Inter-process communication](./score/mw/log/design/datarouter_backend/inter_process_communication.puml). +![Inter-process communication](./score/mw/log/design/backend/datarouter_backend/inter_process_communication.puml). The logs are written by the client into shared memory and read-out by datarouter. Freedom of interference is ensured since the datarouter process has @@ -61,7 +61,7 @@ safety-qualified message passing library. ## Class diagram -![Class diagram](./score/mw/log/design/datarouter_backend/datarouter_class_diagram.puml) +![Class diagram](./score/mw/log/design/backend/datarouter_backend/datarouter_class_diagram.puml) The class diagram above shows the relevant classes client-side and in Datarouter. Client-side the `DatarouterBackend` contains a circular allocator @@ -82,7 +82,7 @@ access to the ring buffer between Datarouter and the client. ## Activity diagrams -![DataRouterBackend::DataRouterBackend Activity diagram](./score/mw/log/design/datarouter_backend/datarouter_backend_datarouterbackend.puml) +![DataRouterBackend::DataRouterBackend Activity diagram](./score/mw/log/design/backend/datarouter_backend/datarouter_backend_datarouterbackend.puml) ## Lock-free Shared Memory Design @@ -201,7 +201,7 @@ readable without synchronization. Only after reading the remaining data from the ring buffer, should Datarouter unmap the shared memory page. Then the OS should free up the used resources. -![SharedMemoryReader Class diagram](./score/mw/log/design/mw_log_shared_memory_reader.puml) +![SharedMemoryReader Class diagram](./score/mw/log/design/backend/datarouter_backend/mw_log_shared_memory_reader.puml) ## Limited impact of incoming messages in the logging client diff --git a/score/mw/log/design/backend/file_output_backend.md b/score/mw/log/design/backend/file_output_backend.md index d180a7ae..34999898 100644 --- a/score/mw/log/design/backend/file_output_backend.md +++ b/score/mw/log/design/backend/file_output_backend.md @@ -31,7 +31,7 @@ or onto the console. `MessageBuilder` is responsible for serving data in correct order of flushing into file or console and stores some of common parts of the header. -![Static Design](./score/mw/log/design/mw_log_file_backend.puml) +![Static Design](./score/mw/log/design/backend/mw_log_file_backend.puml) `SlotDrainer` is responsible for storing and disposal of already serialized data. First data gets inserted into circular buffer. After that step program From 57a8e81fde32bf872cfdf8a7ecf450ceea277b36 Mon Sep 17 00:00:00 2001 From: Jianjun Wen Date: Mon, 20 Apr 2026 10:58:47 +0200 Subject: [PATCH 45/49] DatarouterConf: Move Component Local ITFs into own directory GIT_ORIGIN_SPP_REV_ID: 38f1f6741d319f44cd602808f9682dcecbf1c9d4 --- score/datarouter/build_configuration_flags/BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/score/datarouter/build_configuration_flags/BUILD b/score/datarouter/build_configuration_flags/BUILD index 91b51e1a..4fb2ee30 100644 --- a/score/datarouter/build_configuration_flags/BUILD +++ b/score/datarouter/build_configuration_flags/BUILD @@ -24,7 +24,7 @@ config_setting( ":persistent_logging": "True", }, visibility = [ - "//platform/aas/test/pas/datarouterconf:__subpackages__", + "//platform/aas/pas/datarouterconf:__subpackages__", "@score_logging//score/datarouter:__subpackages__", ], ) From d59b6ba8280505de2cd7d3d952d8f5ffd03d5822 Mon Sep 17 00:00:00 2001 From: Vaishnavi Yendole Date: Mon, 27 Apr 2026 15:49:30 +0200 Subject: [PATCH 46/49] fix: update dependencies and resolve build errors - Update score_baselibs commit to latest main (e87426c8) - Update score_communication commit to latest main (bc1e3c54) - Replace backend_table with minimal target in backend BUILD (backend_table visibility restricted to baselibs subpackages) - Replace recorder_factory with console target in score_log_bridge BUILD - Replace recorder_factory with console target in score_log_bridge_cpp_init BUILD --- MODULE.bazel | 15 +- MODULE.bazel.lock | 1826 +++++++---------- score/mw/log/backend/BUILD | 7 +- ...router_message_client_identifiers_test.cpp | 13 + .../signal_handling/signal_handling_test.cpp | 13 + score/mw/log/rust/score_log_bridge/BUILD | 3 +- .../log/rust/score_log_bridge_cpp_init/BUILD | 2 +- 7 files changed, 756 insertions(+), 1123 deletions(-) diff --git a/MODULE.bazel b/MODULE.bazel index 8a2b016e..11e26dca 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -97,19 +97,8 @@ python.toolchain( bazel_dep(name = "googletest", version = "1.17.0.bcr.1") bazel_dep(name = "rapidjson", version = "1.1.0") -bazel_dep(name = "score_baselibs", version = "0.2.4") -git_override( - module_name = "score_baselibs", - commit = "4b67ce1929575801405c77f7e3c79ab36156a976", - remote = "https://github.com/eclipse-score/baselibs.git", -) - -bazel_dep(name = "score_communication", version = "0.1.2") -git_override( - module_name = "score_communication", - commit = "56448a5589a5f7d3921b873e8127b824a8c1ca95", - remote = "https://github.com/eclipse-score/communication.git", -) +bazel_dep(name = "score_baselibs", version = "0.2.7") +bazel_dep(name = "score_communication", version = "0.2.1") # Rust dependencies diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index c6b499e4..a802e7c8 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -24,10 +24,8 @@ "https://bcr.bazel.build/modules/apple_support/1.22.1/MODULE.bazel": "90bd1a660590f3ceffbdf524e37483094b29352d85317060b2327fff8f3f4458", "https://bcr.bazel.build/modules/apple_support/1.24.1/MODULE.bazel": "f46e8ddad60aef170ee92b2f3d00ef66c147ceafea68b6877cb45bd91737f5f8", "https://bcr.bazel.build/modules/apple_support/1.24.1/source.json": "cf725267cbacc5f028ef13bb77e7f2c2e0066923a4dab1025e4a0511b1ed258a", - "https://bcr.bazel.build/modules/aspect_bazel_lib/1.28.0/MODULE.bazel": "d793416e81c34d137d75ef84fe622df6c550826772a7f06e3b98a0d1c347fe1c", "https://bcr.bazel.build/modules/aspect_bazel_lib/1.31.2/MODULE.bazel": "7bee702b4862612f29333590f4b658a5832d433d6f8e4395f090e8f4e85d442f", "https://bcr.bazel.build/modules/aspect_bazel_lib/1.38.0/MODULE.bazel": "6307fec451ba9962c1c969eb516ebfe1e46528f7fa92e1c9ac8646bef4cdaa3f", - "https://bcr.bazel.build/modules/aspect_bazel_lib/1.42.1/MODULE.bazel": "b7aca918a7c7f4cb9ea223e7e2cba294760659ec7364cc551df156067e4a3621", "https://bcr.bazel.build/modules/aspect_bazel_lib/1.42.2/MODULE.bazel": "2e0d8ab25c57a14f56ace1c8e881b69050417ff91b2fb7718dc00d201f3c3478", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.0.0/MODULE.bazel": "e118477db5c49419a88d78ebc7a2c2cea9d49600fe0f490c1903324a2c16ecd9", "https://bcr.bazel.build/modules/aspect_bazel_lib/2.11.0/MODULE.bazel": "cb1ba9f9999ed0bc08600c221f532c1ddd8d217686b32ba7d45b0713b5131452", @@ -49,7 +47,6 @@ "https://bcr.bazel.build/modules/aspect_rules_js/2.3.8/source.json": "411ec9d79d6f5fe8a083359588c21d01a5b48d88a2cbd334a4c90365015b7836", "https://bcr.bazel.build/modules/aspect_rules_lint/0.12.0/MODULE.bazel": "e767c5dbfeb254ec03275a7701b5cfde2c4d2873676804bc7cb27ddff3728fed", "https://bcr.bazel.build/modules/aspect_rules_lint/1.0.3/MODULE.bazel": "ed0fe929647ba21d2041e14ea3d757133ca306b72d4998e8a3d0d2f515196765", - "https://bcr.bazel.build/modules/aspect_rules_lint/1.13.0/MODULE.bazel": "6756412fca0a91ebfc614a60aeca5210db22d96bd8051c245b75514abc7079e7", "https://bcr.bazel.build/modules/aspect_rules_lint/1.5.3/MODULE.bazel": "7fee71b11be63f1cf0458cd8c731712a0e672d0bb6df8879ed70249bf8dfdfdc", "https://bcr.bazel.build/modules/aspect_rules_lint/2.0.0/MODULE.bazel": "1f4c81edd9af0c54e65dedbe36653fc63dc9a91605313d54d5ab371f853d693c", "https://bcr.bazel.build/modules/aspect_rules_lint/2.3.0/MODULE.bazel": "4d36bce3c1347bb4fed5906877dce0e683cb207f4032711aff32334003bcf835", @@ -73,15 +70,13 @@ "https://bcr.bazel.build/modules/bazel_features/1.18.0/MODULE.bazel": "1be0ae2557ab3a72a57aeb31b29be347bcdc5d2b1eb1e70f39e3851a7e97041a", "https://bcr.bazel.build/modules/bazel_features/1.19.0/MODULE.bazel": "59adcdf28230d220f0067b1f435b8537dd033bfff8db21335ef9217919c7fb58", "https://bcr.bazel.build/modules/bazel_features/1.2.0/MODULE.bazel": "122b2b606622afbaa498913d54f52d9bcd2d19a5edd1bd6d6c5aa17441c4d5f9", - "https://bcr.bazel.build/modules/bazel_features/1.20.0/MODULE.bazel": "8b85300b9c8594752e0721a37210e34879d23adc219ed9dc8f4104a4a1750920", "https://bcr.bazel.build/modules/bazel_features/1.21.0/MODULE.bazel": "675642261665d8eea09989aa3b8afb5c37627f1be178382c320d1b46afba5e3b", "https://bcr.bazel.build/modules/bazel_features/1.27.0/MODULE.bazel": "621eeee06c4458a9121d1f104efb80f39d34deff4984e778359c60eaf1a8cb65", "https://bcr.bazel.build/modules/bazel_features/1.28.0/MODULE.bazel": "4b4200e6cbf8fa335b2c3f43e1d6ef3e240319c33d43d60cc0fbd4b87ece299d", "https://bcr.bazel.build/modules/bazel_features/1.3.0/MODULE.bazel": "cdcafe83ec318cda34e02948e81d790aab8df7a929cec6f6969f13a489ccecd9", "https://bcr.bazel.build/modules/bazel_features/1.30.0/MODULE.bazel": "a14b62d05969a293b80257e72e597c2da7f717e1e69fa8b339703ed6731bec87", "https://bcr.bazel.build/modules/bazel_features/1.32.0/MODULE.bazel": "095d67022a58cb20f7e20e1aefecfa65257a222c18a938e2914fd257b5f1ccdc", - "https://bcr.bazel.build/modules/bazel_features/1.34.0/MODULE.bazel": "e8475ad7c8965542e0c7aac8af68eb48c4af904be3d614b6aa6274c092c2ea1e", - "https://bcr.bazel.build/modules/bazel_features/1.34.0/source.json": "dfa5c4b01110313153b484a735764d247fee5624bbab63d25289e43b151a657a", + "https://bcr.bazel.build/modules/bazel_features/1.32.0/source.json": "2546c766986a6541f0bacd3e8542a1f621e2b14a80ea9e88c6f89f7eedf64ae1", "https://bcr.bazel.build/modules/bazel_features/1.4.1/MODULE.bazel": "e45b6bb2350aff3e442ae1111c555e27eac1d915e77775f6fdc4b351b758b5d7", "https://bcr.bazel.build/modules/bazel_features/1.9.0/MODULE.bazel": "885151d58d90d8d9c811eb75e3288c11f850e1d6b481a8c9f766adee4712358b", "https://bcr.bazel.build/modules/bazel_features/1.9.1/MODULE.bazel": "8f679097876a9b609ad1f60249c49d68bfab783dd9be012faf9d82547b14815a", @@ -102,93 +97,96 @@ "https://bcr.bazel.build/modules/bazel_skylib/1.7.1/MODULE.bazel": "3120d80c5861aa616222ec015332e5f8d3171e062e3e804a2a0253e1be26e59b", "https://bcr.bazel.build/modules/bazel_skylib/1.8.1/MODULE.bazel": "88ade7293becda963e0e3ea33e7d54d3425127e0a326e0d17da085a5f1f03ff6", "https://bcr.bazel.build/modules/bazel_skylib/1.8.2/MODULE.bazel": "69ad6927098316848b34a9142bcc975e018ba27f08c4ff403f50c1b6e646ca67", - "https://bcr.bazel.build/modules/bazel_skylib/1.8.2/source.json": "34a3c8bcf233b835eb74be9d628899bb32999d3e0eadef1947a0a562a2b16ffb", - "https://bcr.bazel.build/modules/boost.any/1.87.0/MODULE.bazel": "bd5e7c7abe254911ea9ee86877b2f9d72e5b01ba5e1d78224564d6919105e03a", - "https://bcr.bazel.build/modules/boost.any/1.87.0/source.json": "928d3773ee07be66fd2f1025cf63776bca9f80d7c57b705e994ed953cd17b6bb", - "https://bcr.bazel.build/modules/boost.array/1.87.0/MODULE.bazel": "beb11f5d659b17df58c07e039392edc9233e1be9565e5d4b1393fff9bf4457c4", - "https://bcr.bazel.build/modules/boost.array/1.87.0/source.json": "0583a9fd9d24a14e33b74b4342f94b4a4a3b539af11b0c12403a1a4da1f1548a", - "https://bcr.bazel.build/modules/boost.assert/1.87.0/MODULE.bazel": "8a950da6e19dd6d6427b95b1cfe1d2fc86eb598f6fb753345d925eb92d74a821", - "https://bcr.bazel.build/modules/boost.assert/1.87.0/source.json": "085a7c247d90bb4f8f5c3cc7eec1994f3d46d2a26af1947c85ff6f8ddd86ce59", - "https://bcr.bazel.build/modules/boost.bind/1.87.0/MODULE.bazel": "6d224cd013e45d15710476840fff34aa2da53389c3bfd252054e2efd893b0bf9", - "https://bcr.bazel.build/modules/boost.bind/1.87.0/source.json": "e93e696ab6140c1f07317357b04b4d0fcf0aefa61991b8fa8b65416d81677b44", - "https://bcr.bazel.build/modules/boost.concept_check/1.87.0/MODULE.bazel": "6a935c9f5d739ad6d0401d1e5f71f4bfb538c66ccb1d3b8ac7a5a2b74bd207ff", - "https://bcr.bazel.build/modules/boost.concept_check/1.87.0/source.json": "45ffc4ae171c9b14bbe595e3d3e7d0a5065ceb18f949d1a2365d328ca89e1a1c", - "https://bcr.bazel.build/modules/boost.config/1.87.0/MODULE.bazel": "01da6517cb341d5abea9be54337bf85ba50132b3690a621f09be5890ecd12796", - "https://bcr.bazel.build/modules/boost.config/1.87.0/source.json": "9a00cd7c9afd6f58b349a806791c7aab040b1cd1a35464e59b79be724261a5ae", - "https://bcr.bazel.build/modules/boost.container/1.87.0/MODULE.bazel": "affb6e485eb13d3df0e9ee464f6a890175762526166da601a83f12d21b6c6950", - "https://bcr.bazel.build/modules/boost.container/1.87.0/source.json": "ddf180a658ad7743e081970719a184538945b9554be8278b55a67ba281ceede0", - "https://bcr.bazel.build/modules/boost.container_hash/1.87.0/MODULE.bazel": "a718ac13832c18ffc828f33e9cf8e566095d5ed8c80584bd1ad429c4ce91efa5", - "https://bcr.bazel.build/modules/boost.container_hash/1.87.0/source.json": "a7a90c4dfea2da1648ac530a838faebc093cbbaeab5e4f43a8532e5b76ff32d3", - "https://bcr.bazel.build/modules/boost.conversion/1.87.0/MODULE.bazel": "47bafdb6a14ec58feefe69a1367b537458563e0627e1986f377cc0b4e8ebd41e", - "https://bcr.bazel.build/modules/boost.conversion/1.87.0/source.json": "7aa865b11b0a699d15926eb87a21d17220d64265da3d280261a480b0d88b3dbb", - "https://bcr.bazel.build/modules/boost.core/1.87.0/MODULE.bazel": "33517eb46bb16f4b4f4a1bde61fe8b2475f45b5574bcd9f04c85f4bf3afe30d2", - "https://bcr.bazel.build/modules/boost.core/1.87.0/source.json": "9e2920b45c833a6a2cd42b16e17a5b97201bb73698a3902936cc90c1aa3de667", - "https://bcr.bazel.build/modules/boost.describe/1.87.0/MODULE.bazel": "638752de4ad46348a7e3ac72910b699fde5a3c71d42fc69047d2aa8825411646", - "https://bcr.bazel.build/modules/boost.describe/1.87.0/source.json": "c260a5c38806ea88ce50b2d070484ae634941d2be7a1ddb0f959923ca8ef10d4", - "https://bcr.bazel.build/modules/boost.detail/1.87.0/MODULE.bazel": "64ed391c2b60b226263de4f486fad690414afc6a68d1a5e58eed70e4a63f2d80", - "https://bcr.bazel.build/modules/boost.detail/1.87.0/source.json": "dde910ab5e8ca18352cceaf4a922904b3de9ace042bf16f1a2015ca53776a568", - "https://bcr.bazel.build/modules/boost.function/1.87.0/MODULE.bazel": "d7ad93c26d0102b48cd6f781fcb68d16861fd6bf8772f784f034afabbabea391", - "https://bcr.bazel.build/modules/boost.function/1.87.0/source.json": "dd6765e2d9d902fc82da874f55061cf233a17affa66acb1641f478480b80d5d2", - "https://bcr.bazel.build/modules/boost.function_types/1.87.0/MODULE.bazel": "fed8aedff1fb01468a24e53a10793411330e36ebe29aeafaadeae00e25c20371", - "https://bcr.bazel.build/modules/boost.function_types/1.87.0/source.json": "c3a7fa0a172a109ae04a575eba033e133a38448005468dfddedab065d071dbbf", - "https://bcr.bazel.build/modules/boost.functional/1.87.0/MODULE.bazel": "5488597db90a4d8615505e9673806db23a98a4c73eadc16999478c7b1a6c1bc7", - "https://bcr.bazel.build/modules/boost.functional/1.87.0/source.json": "d39c98b1a9ae0a74da51ff049054fe6f77060d00c1768ea7eb6c629f3ac9eea5", - "https://bcr.bazel.build/modules/boost.fusion/1.87.0/MODULE.bazel": "2c28c212edcf35584dcf09089c51d6dcb2a01cf5d8d5c2b125dc91acb083a463", - "https://bcr.bazel.build/modules/boost.fusion/1.87.0/source.json": "35cb70a4a379e430e9efde27c9c2aa061791e9a1f693f7c85d2d4f1665ba2381", - "https://bcr.bazel.build/modules/boost.integer/1.87.0/MODULE.bazel": "2b862679c8595b6ecb3806ec5c7a1024c9e00fca94e5ee713d75ab022c6a7444", - "https://bcr.bazel.build/modules/boost.integer/1.87.0/source.json": "adce74ac44da997658d139f419f3c6a909fdc35d05566814c9c15e3ccb99fff6", - "https://bcr.bazel.build/modules/boost.interprocess/1.87.0/MODULE.bazel": "e85519bd17957242ddd8e82fe6529b6cacd36f6cb0b1140fa728ed96f2a5738d", - "https://bcr.bazel.build/modules/boost.interprocess/1.87.0/source.json": "3fc2d81ac08cf07009c143a2a161d1f041cd7d90a2f81ea68dc81ea056404929", - "https://bcr.bazel.build/modules/boost.intrusive/1.87.0/MODULE.bazel": "9dd904f7da54b7efa8476da8152e8cd60702e7b61bfae2689672f185458dc478", - "https://bcr.bazel.build/modules/boost.intrusive/1.87.0/source.json": "cc603911503905072f8596510bb6e95ce210a82564258d3fd319f9499f339cf6", - "https://bcr.bazel.build/modules/boost.io/1.87.0/MODULE.bazel": "30b1fbdc4a0463f727e2a78558550adf05c61e1fc209a6dcd35df03eaa4dafac", - "https://bcr.bazel.build/modules/boost.io/1.87.0/source.json": "b42dd52763c9bce54ed4a4c8ef48d560460f854bb53770f37c839180dba897e0", - "https://bcr.bazel.build/modules/boost.iterator/1.87.0/MODULE.bazel": "7e6ce23b059902c1709ba033dd1f4783b3de3f48ec4dc9f5e6ab82ddc699223e", - "https://bcr.bazel.build/modules/boost.iterator/1.87.0/source.json": "69d37225c6ffc3e8af0e7ea427ff51ccb04d84c6e7e361bbb8f1dc859b4412ea", - "https://bcr.bazel.build/modules/boost.lexical_cast/1.87.0/MODULE.bazel": "878478bbe6d3350cad171dd1b4558732dbee7021ab69e40a3c5bf9e59b37922c", - "https://bcr.bazel.build/modules/boost.lexical_cast/1.87.0/source.json": "80e0443943851508f2fa427c1c48b714690691c7022082ec65551dbe4680c82e", - "https://bcr.bazel.build/modules/boost.move/1.87.0/MODULE.bazel": "5f26dacea41a8d617b6097219df961405c8a08a9315da14cefa8da15587a7fc5", - "https://bcr.bazel.build/modules/boost.move/1.87.0/source.json": "a95f9b258ddf918c3137c2b8d223b0b55cf9a17a52d4e19ccabfe650dcf118e3", - "https://bcr.bazel.build/modules/boost.mp11/1.87.0/MODULE.bazel": "af9644d2b668f3e014ac335a8a84ac74d9cb263454cd07cd5b84ce206f5dd81f", - "https://bcr.bazel.build/modules/boost.mp11/1.87.0/source.json": "fb17f9453d8e62a6425efccc3a827f29ddb4577aaffee68393c86bd21e517187", - "https://bcr.bazel.build/modules/boost.mpl/1.87.0/MODULE.bazel": "72eba3a8cc5711e15a852829d00482abbf7869ed2ee6f598b8f295261f3e5496", - "https://bcr.bazel.build/modules/boost.mpl/1.87.0/source.json": "81a99487d926f8a26dd5d80662e14baa0a6842b81a2a47f3f529064d0a36f36f", - "https://bcr.bazel.build/modules/boost.numeric_conversion/1.87.0/MODULE.bazel": "0164792509fbf8e6374eeb94a8e84ba8aa5e939620266177a112eac118e67f7c", - "https://bcr.bazel.build/modules/boost.numeric_conversion/1.87.0/source.json": "b19fe476ce051ee4b127f78b2ee4fcec917f60e2f0a06a26528c5666b355d623", - "https://bcr.bazel.build/modules/boost.optional/1.87.0/MODULE.bazel": "a12ca5b2394521bd60e432c9a98623d5a33edf9f7f891fb26c5d0840fb6b182e", - "https://bcr.bazel.build/modules/boost.optional/1.87.0/source.json": "38de88d9d67d2c7673a2c3a817a578c2ead946a11ae111f24f71859b401b0656", - "https://bcr.bazel.build/modules/boost.predef/1.87.0/MODULE.bazel": "4bb0cc9a326ea8ffde86044c2dbdf08b75d5e8fe7e4ea8c399b058262680a890", - "https://bcr.bazel.build/modules/boost.predef/1.87.0/source.json": "421162e76f175a64d22296b9cf3272441324fa994766acffd367182a777ad092", - "https://bcr.bazel.build/modules/boost.preprocessor/1.87.0/MODULE.bazel": "fdbcce15c585de47e4a5e9f6e2b9aa87f690a87e205eded400c5590f7e64535a", - "https://bcr.bazel.build/modules/boost.preprocessor/1.87.0/source.json": "ef9b9006890126f5880bb51ccbe8a97a95baf21606e2f30acdb1c30c0dd79758", - "https://bcr.bazel.build/modules/boost.program_options/1.87.0/MODULE.bazel": "186e44a5e01b9dedc91420141fba5b31cb73d04f374a6387f80ab53d725faafc", - "https://bcr.bazel.build/modules/boost.program_options/1.87.0/source.json": "53dacc9541ab7e68796c86cacb4d395b9a758a2a2fb2778f67ca5dcd1ef990e0", - "https://bcr.bazel.build/modules/boost.range/1.87.0/MODULE.bazel": "b1604553c080ca8620fb8e16267b397d4345986acae9ddd8277f36ad87236b60", - "https://bcr.bazel.build/modules/boost.range/1.87.0/source.json": "3477215270d2295f882b0b127347fddf69aecdb7cd77ba315e55199c36208661", - "https://bcr.bazel.build/modules/boost.regex/1.87.0/MODULE.bazel": "b91f176af90ce5ad96c8be6f83c4fb253fc8b391055e23a349f35e76e679e302", - "https://bcr.bazel.build/modules/boost.regex/1.87.0/source.json": "a887e4a0ac22ae2eb6203bbfbc2b6a9581edc1d65af0a8c392b30327a7688432", - "https://bcr.bazel.build/modules/boost.smart_ptr/1.87.0/MODULE.bazel": "a2a2b804d33fd47e37b33bb0b47a66b07aab616c12083654f4d9b92ab1308470", - "https://bcr.bazel.build/modules/boost.smart_ptr/1.87.0/source.json": "ff2c2bc2620fd9f404ea1937f38c1776a6b88ae17516c440eda88366fbd14c91", - "https://bcr.bazel.build/modules/boost.static_assert/1.87.0/MODULE.bazel": "06e7170d6e4ec08d6a4a83d1f0bce3f7fdacd89e4dcaa93d508f971e4e363d4f", - "https://bcr.bazel.build/modules/boost.static_assert/1.87.0/source.json": "d5b3f81fba6382b83885ff2dfaef07a5788323ed82d472d2fd629fcbba04ec7a", - "https://bcr.bazel.build/modules/boost.throw_exception/1.87.0/MODULE.bazel": "d02c1799ff6bc1bd0a9e7f149ac35a4851c89156be7d81805df9238d52047f02", - "https://bcr.bazel.build/modules/boost.throw_exception/1.87.0/source.json": "b52fb8b064d825ebb7047a72cf2c101a047dc60c1d0a89829b7ed8e39ff4fe6a", - "https://bcr.bazel.build/modules/boost.tokenizer/1.87.0/MODULE.bazel": "48ecacd7bf0fcb7cbf27b55a7d6bf82b988f308666bda2d51840450ea6d62401", - "https://bcr.bazel.build/modules/boost.tokenizer/1.87.0/source.json": "c39ec91706ad8eeab142528eac47737b6fc314b952ffdb9578ab95e5f3c690b4", - "https://bcr.bazel.build/modules/boost.tuple/1.87.0/MODULE.bazel": "94a17666a0d0e875a346b4e8db75ec05e3a1c9c7a681ac5eca80c18e68b5d547", - "https://bcr.bazel.build/modules/boost.tuple/1.87.0/source.json": "5f42023d26b3abefc034817a535d3d0ab06712f4740a93aa4e247287fba1cb47", - "https://bcr.bazel.build/modules/boost.type_index/1.87.0/MODULE.bazel": "a871d18870b21f00c89ba8dd469e027cd697363a9f3dd525176d91e837b8bb38", - "https://bcr.bazel.build/modules/boost.type_index/1.87.0/source.json": "fe14f80f9a857b92af204396d0e81bf57751113e37a77586b9610a7894407092", - "https://bcr.bazel.build/modules/boost.type_traits/1.87.0/MODULE.bazel": "8d2d44e992e85a59b6bd13b145ae27736d932a29e5aec743a0cfd014af5aee27", - "https://bcr.bazel.build/modules/boost.type_traits/1.87.0/source.json": "fd7434b8e36d19a1c8e9349e041ceaf19d0b98e90b6d4c7b86249735907cea34", - "https://bcr.bazel.build/modules/boost.typeof/1.87.0/MODULE.bazel": "c3cd122b8745c835229c58df8c46e81b944996b4bd3822f947873cb617374dd8", - "https://bcr.bazel.build/modules/boost.typeof/1.87.0/source.json": "ba36c7ce360efd31bf7ab5c1503b785de5c8db673056067ff8c7e3e94efccb68", - "https://bcr.bazel.build/modules/boost.unordered/1.87.0/MODULE.bazel": "bfee6daa324bb37c618fc073c50a0754985b9538e13de0e873381d41d634168c", - "https://bcr.bazel.build/modules/boost.unordered/1.87.0/source.json": "3b237fcd1dda18408dbdcb06984e50a13f0688fd0dca480a552f1ff37a6f50b5", - "https://bcr.bazel.build/modules/boost.utility/1.87.0/MODULE.bazel": "8ab710d4feac76acba004a1cac6d64823c812bfeefea18fb7b1a907c86a9ecf6", - "https://bcr.bazel.build/modules/boost.utility/1.87.0/source.json": "ab5744c8cc722dd83c96ae672e01010b944ad4e864e445de66f78164152a7a23", - "https://bcr.bazel.build/modules/boost.winapi/1.87.0/MODULE.bazel": "b36870b9f3ebe56c1dadd0507fb6ee6b5a59e13c5c0b784baaa509722bd0ffba", - "https://bcr.bazel.build/modules/boost.winapi/1.87.0/source.json": "8e363a11b36f5f78b4d00a4543a8b181313d78abdcc5dec6e438a5c4b2fd2a7e", + "https://bcr.bazel.build/modules/bazel_skylib/1.9.0/MODULE.bazel": "72997b29dfd95c3fa0d0c48322d05590418edef451f8db8db5509c57875fb4b7", + "https://bcr.bazel.build/modules/bazel_skylib/1.9.0/source.json": "7ad77c1e8c1b84222d9b3f3cae016a76639435744c19330b0b37c0a3c9da7dc0", + "https://bcr.bazel.build/modules/boost.any/1.83.0.bcr.4/MODULE.bazel": "b0dd78068b3d4b509e7d2cbafc498687ac347621e303bec26312f63baee1c97d", + "https://bcr.bazel.build/modules/boost.any/1.83.0.bcr.4/source.json": "0b0e71cc436ae601b4ecacf85c7246866c6d39178af0689906b9b997890f984d", + "https://bcr.bazel.build/modules/boost.array/1.83.0.bcr.4/MODULE.bazel": "419a97f36e8cc9cc75a783707051d51e6eaa88f49fda575811c78c76885f097a", + "https://bcr.bazel.build/modules/boost.array/1.83.0.bcr.4/source.json": "551152a3790532596761d6b8bd5f41589b65d4e617c503dce4b3c3ade1d28a71", + "https://bcr.bazel.build/modules/boost.assert/1.83.0.bcr.4/MODULE.bazel": "0cc01302bf8f0098013098098f441b06068e6f4d05a4bb4f75a2133d11239e5b", + "https://bcr.bazel.build/modules/boost.assert/1.83.0.bcr.4/source.json": "225cb551191ac7f5fb4eba0476a0d0397405cbb360dd9755bf29b28033415379", + "https://bcr.bazel.build/modules/boost.bind/1.83.0.bcr.4/MODULE.bazel": "12265d54e554bcba38ab4d5d9195a597874e202309fe0102ad24ca02d07948cd", + "https://bcr.bazel.build/modules/boost.bind/1.83.0.bcr.4/source.json": "23c74d95825ce383e74922b2ccd0013f0e122be9c0b5a4b80c5aa7c6e2c99496", + "https://bcr.bazel.build/modules/boost.concept_check/1.83.0.bcr.4/MODULE.bazel": "287e9cb97c2dcc11d3c7a08ac58a75a55d1beadff7795164546aebd8d242b515", + "https://bcr.bazel.build/modules/boost.concept_check/1.83.0.bcr.4/source.json": "6d91113521d7906d61e72896eff03b4979beb8eb11e79769fc847d6a89541dd2", + "https://bcr.bazel.build/modules/boost.config/1.83.0.bcr.4/MODULE.bazel": "d6433498d31931ef3ec5e237f9a780bd8dbb110a73cccaac15f99df2ff0795a9", + "https://bcr.bazel.build/modules/boost.config/1.83.0.bcr.4/source.json": "0a5b5bf8d2afcf0731fcd452fe69f20d45b0d08ba07e70698cc7ee36f0ce7e9c", + "https://bcr.bazel.build/modules/boost.container/1.83.0.bcr.4/MODULE.bazel": "8c2711b962cabb11a91dfa24c8019141d7709e2a7d9ad888c7b7bd1f702565ae", + "https://bcr.bazel.build/modules/boost.container/1.83.0.bcr.4/source.json": "246ae4564faf1c08995ac3f6a6886999e197821d0e3b3dd641911ae417657602", + "https://bcr.bazel.build/modules/boost.container_hash/1.83.0.bcr.4/MODULE.bazel": "2f8246d0e34f19d3e09ba41022e85775566449f6a133640e65b4d9f1cbf110b8", + "https://bcr.bazel.build/modules/boost.container_hash/1.83.0.bcr.4/source.json": "0410e34fef0a3dc16edc0f6a8f49783cba04a891183d76286ba974e4d9806ef0", + "https://bcr.bazel.build/modules/boost.conversion/1.83.0.bcr.4/MODULE.bazel": "b8497ee8fd93305ca26b051b28a7dbab2c0754a7b212a7766dc0b419b8d66eb8", + "https://bcr.bazel.build/modules/boost.conversion/1.83.0.bcr.4/source.json": "5c743efda68a0b7b77f2a87b7d66f55b569f3056959e252e472c992ad23f4668", + "https://bcr.bazel.build/modules/boost.core/1.83.0.bcr.4/MODULE.bazel": "145932521c0509dbb268a8f062ba5432f0fe2620e6f82a580dab0eacda79a140", + "https://bcr.bazel.build/modules/boost.core/1.83.0.bcr.4/source.json": "d709cff67716e366200ca77680b39e9c98141c7289ddbf207b1c710f4de7bf03", + "https://bcr.bazel.build/modules/boost.describe/1.83.0.bcr.4/MODULE.bazel": "e705d8ed1d12aba965bb860b9130d05738854168b28573283a75dfa9d98ebc86", + "https://bcr.bazel.build/modules/boost.describe/1.83.0.bcr.4/source.json": "748e4e74723c381d304f888849efd52caf5710f48ceb67b91d4e43fc800ccd81", + "https://bcr.bazel.build/modules/boost.detail/1.83.0.bcr.4/MODULE.bazel": "b0716cedd38e241e44c67cdb0616b16062f40e6d0aee62a675abafe58cf81a94", + "https://bcr.bazel.build/modules/boost.detail/1.83.0.bcr.4/source.json": "786d571fbd8482901b62c7c752ca0047c644989610d4cea733b230b93a6500cd", + "https://bcr.bazel.build/modules/boost.function/1.83.0.bcr.4/MODULE.bazel": "69e1415e6c1de48fd9a75cd0f21edddcb3b5a99aba345304548de8b48c5bc258", + "https://bcr.bazel.build/modules/boost.function/1.83.0.bcr.4/source.json": "a0cabb8ba9338689964c5e467186caabed4dd5426b579269be15d1c5c94a5522", + "https://bcr.bazel.build/modules/boost.function_types/1.83.0.bcr.4/MODULE.bazel": "55088b1ae6083c8c58051d006bce058dcd8d3587bbbbd088fc285211ce23f8c2", + "https://bcr.bazel.build/modules/boost.function_types/1.83.0.bcr.4/source.json": "8c58b4cb6d2b2ce126eafb9a060e7b9b6ad60e9f2d409aa2caca84db2369a8ae", + "https://bcr.bazel.build/modules/boost.functional/1.83.0.bcr.4/MODULE.bazel": "6551ccb5fb2c601ff3bd3ca66d0d10deebe79a4b080f98abb61a92fb7ae68c1a", + "https://bcr.bazel.build/modules/boost.functional/1.83.0.bcr.4/source.json": "ce96d3fd8ec61d2889b35734b9d116278b64f473361f8bdeb9a9f336e514356e", + "https://bcr.bazel.build/modules/boost.fusion/1.83.0.bcr.4/MODULE.bazel": "5c809e2a0b84df52732f1982206da585d5366a78bf030ca5eded541f1d7a61ad", + "https://bcr.bazel.build/modules/boost.fusion/1.83.0.bcr.4/source.json": "efce523d915fad1cd37824843ca6381b1e9866bb7ee88851511d85aa37005713", + "https://bcr.bazel.build/modules/boost.integer/1.83.0.bcr.4/MODULE.bazel": "173ce805a8ac6d3a61e2b8891b4bdf32188d36fbbf73c5a5f3ea0e210e246a1d", + "https://bcr.bazel.build/modules/boost.integer/1.83.0.bcr.4/source.json": "6aedf2334ff54a527699cf78a853916826a15252fccdad70b81bfaa1d49904bf", + "https://bcr.bazel.build/modules/boost.interprocess/1.83.0.bcr.4/MODULE.bazel": "b1c4cf58b387c07c10cea0709ad808283c62aa8024bebc9ce7a59248c9980729", + "https://bcr.bazel.build/modules/boost.interprocess/1.83.0.bcr.4/source.json": "4f9c40d790c736a619c03b5788b80575fadffbb712fb10944572b420313c5dee", + "https://bcr.bazel.build/modules/boost.intrusive/1.83.0.bcr.4/MODULE.bazel": "8cfe7ec4ae0e4c33297df4edf5c22e6498cde0d7a1ecf98720392b829918eb61", + "https://bcr.bazel.build/modules/boost.intrusive/1.83.0.bcr.4/source.json": "04475d40cac42ebe96888a0599b2b9b35d4092502710f421cb3dc9ad2c6b8099", + "https://bcr.bazel.build/modules/boost.io/1.83.0.bcr.4/MODULE.bazel": "804ae356aacddd2478af291fa29aa682ad813ede8b43a86fa3444b7663b0a855", + "https://bcr.bazel.build/modules/boost.io/1.83.0.bcr.4/source.json": "f07574feba2522bdbb312e99d2978dc1db8bd0a309a118cc6b02559ddca179cc", + "https://bcr.bazel.build/modules/boost.iterator/1.83.0.bcr.4/MODULE.bazel": "7ebfd731d3bbb7d99556652673344093f46799226da22a1d65ddc005fb8adb94", + "https://bcr.bazel.build/modules/boost.iterator/1.83.0.bcr.4/source.json": "298dfee2164bf529195b83641bae0c929ed42e5b2b9097b14c5627a97f40faa8", + "https://bcr.bazel.build/modules/boost.lexical_cast/1.83.0.bcr.4/MODULE.bazel": "1e497e85f499fc55316baa25938a4e02de0a3764fc0152450975fd4ba60b8bc5", + "https://bcr.bazel.build/modules/boost.lexical_cast/1.83.0.bcr.4/source.json": "2731c6c73680ca65a3a60deed4810dd9c7e7f1dd233c07829a313911f90b7fbb", + "https://bcr.bazel.build/modules/boost.move/1.83.0.bcr.4/MODULE.bazel": "ddc12982f87e67597eeede240369cc73d4ba83ec764a752c4a471245834ee060", + "https://bcr.bazel.build/modules/boost.move/1.83.0.bcr.4/source.json": "6f9971fd617c8d94e7c4a02c618052edec5ad0f30a1b18b4bf9e995443545330", + "https://bcr.bazel.build/modules/boost.mp11/1.83.0.bcr.4/MODULE.bazel": "27fa864c5e1799e514bbe2f0b9439ad29380f5d436ae3b39c29109609d81316e", + "https://bcr.bazel.build/modules/boost.mp11/1.83.0.bcr.4/source.json": "8c2924bab093f7d0e44cb2ac55dea985497b9d85d6a246c89377a49d27d452a6", + "https://bcr.bazel.build/modules/boost.mpl/1.83.0.bcr.4/MODULE.bazel": "5ffae433a4da96fe4a80e89b7ea2ed9ae638baa8733542e41c04b51654d8ebb0", + "https://bcr.bazel.build/modules/boost.mpl/1.83.0.bcr.4/source.json": "5486afd07c5aed527e6c090cae630e73fa5e95c57fbcbd3e89b6f76759d88acc", + "https://bcr.bazel.build/modules/boost.numeric_conversion/1.83.0.bcr.4/MODULE.bazel": "2f1e9d5483bc5601908aa8db11b4e6d3aa8ee34821740621763ce7388bfe1e44", + "https://bcr.bazel.build/modules/boost.numeric_conversion/1.83.0.bcr.4/source.json": "59be0456e0abf960844d67774f414a2e6165d666bf13d255b30408dde0306dff", + "https://bcr.bazel.build/modules/boost.optional/1.83.0.bcr.4/MODULE.bazel": "5ec81db11f58442b8794af3e8fd868698772f28ba831e2eb2767e8294c222428", + "https://bcr.bazel.build/modules/boost.optional/1.83.0.bcr.4/source.json": "5f52bc2e02908d07e4ad53cacec91520a745471715070ec659c1b1f81d05f5e3", + "https://bcr.bazel.build/modules/boost.predef/1.83.0.bcr.4/MODULE.bazel": "4d842ef8cadb835dcfff0ee90a7ff0b6e8df4774c72e4e8443ca2339083cd58b", + "https://bcr.bazel.build/modules/boost.predef/1.83.0.bcr.4/source.json": "4bc4c6af4bcc909b1d4abebba5583d03d5e09447c658fa63fe8fdd8a5b2906e5", + "https://bcr.bazel.build/modules/boost.preprocessor/1.83.0.bcr.4/MODULE.bazel": "aee3f5151c6c5738a494c7a2b842d1f80db0e60601cc6c1ef2b74e0c7e548fa6", + "https://bcr.bazel.build/modules/boost.preprocessor/1.83.0.bcr.4/source.json": "ce770e480d05b987d953d7e64f80cebdfb5b008a9b9da80355d9e86a3d09bbb7", + "https://bcr.bazel.build/modules/boost.program_options/1.83.0.bcr.4/MODULE.bazel": "2e74f997e3e27a604a9dab3d33393737396953eb213429707c65ac60fdec6990", + "https://bcr.bazel.build/modules/boost.program_options/1.83.0.bcr.4/source.json": "b5bb402252a25d926d66ec1bc3946a8264d786f5f82e90a9268abe82e8220c3a", + "https://bcr.bazel.build/modules/boost.range/1.83.0.bcr.4/MODULE.bazel": "6e3089857dd3bb9b31f9c3fcfda86a0d03b9004dd0b6ee5656daee8ade769b54", + "https://bcr.bazel.build/modules/boost.range/1.83.0.bcr.4/source.json": "cb7c9a5fb9d32d08450f75860e6de2f5e9ef3c3b717b48307bba6c73e68ac779", + "https://bcr.bazel.build/modules/boost.regex/1.83.0.bcr.4/MODULE.bazel": "aa6e90068802f8f695712708bb4bd80b4bfc1affb1079a342e506e3563cb892f", + "https://bcr.bazel.build/modules/boost.regex/1.83.0.bcr.4/source.json": "a3ebf3b988c2db3aafa6b91d7fd4cf6f7ac4544829479f7e656d84540abd501f", + "https://bcr.bazel.build/modules/boost.smart_ptr/1.83.0.bcr.4/MODULE.bazel": "5217115fdeb485e3be40802adf97f16c2cc432e050ea0246733b55aeb3ce0047", + "https://bcr.bazel.build/modules/boost.smart_ptr/1.83.0.bcr.4/source.json": "a953c6e0b526efde316af8f6b38170616c559729790efaa121e42230e014f53b", + "https://bcr.bazel.build/modules/boost.static_assert/1.83.0.bcr.4/MODULE.bazel": "55a9d94e82ebdc01857bae5590e83a7afab56fc57e86f345288601992eb5cd8e", + "https://bcr.bazel.build/modules/boost.static_assert/1.83.0.bcr.4/source.json": "d14305e5679f008a352f75e8eaa725ab9ff71ec1dd2553cda1b171e39fd20cfe", + "https://bcr.bazel.build/modules/boost.throw_exception/1.83.0.bcr.4/MODULE.bazel": "6dc898672c5de822af4b4da0fc6d0ed233d9fa942356c4e1bbcd748916ba0c58", + "https://bcr.bazel.build/modules/boost.throw_exception/1.83.0.bcr.4/source.json": "ec9d540d7ca6beaffdc7f0395cd5eea0acda924b3ab306966786b242df74b512", + "https://bcr.bazel.build/modules/boost.tokenizer/1.83.0.bcr.4/MODULE.bazel": "0b63f536a387b2ce44641f29be3057e0746554467a0e9081df08c83036854c4a", + "https://bcr.bazel.build/modules/boost.tokenizer/1.83.0.bcr.4/source.json": "ec29f1a3794b132da76d19fbb741c243c890d5a17950fb9e0b7f6bb618b31959", + "https://bcr.bazel.build/modules/boost.tuple/1.83.0.bcr.4/MODULE.bazel": "3a21cf25cd86a03bdc78684f16d5b25e91f075ff95230b849545484a7d4d506b", + "https://bcr.bazel.build/modules/boost.tuple/1.83.0.bcr.4/source.json": "e145722cc962e7f4385f554ce6e8f4373bab792691712788fa16befa9082b938", + "https://bcr.bazel.build/modules/boost.type_index/1.83.0.bcr.4/MODULE.bazel": "401befa0b9b5a4ee6f2628d7cb0d7664f6a039d9022b982f36a6672ffedeb14d", + "https://bcr.bazel.build/modules/boost.type_index/1.83.0.bcr.4/source.json": "d6b66135155a4094819cc1393d89e4eace6bdf985c5148d31bc96824471382ef", + "https://bcr.bazel.build/modules/boost.type_traits/1.83.0.bcr.4/MODULE.bazel": "ecf03c91b87bc800d9c699718fab225973063fc1975082e155298e5a87e19573", + "https://bcr.bazel.build/modules/boost.type_traits/1.83.0.bcr.4/source.json": "107e5bef1443ee75efc197198b45fb01d6460b475e20d1fa0d52af64600c8204", + "https://bcr.bazel.build/modules/boost.typeof/1.83.0.bcr.4/MODULE.bazel": "9d76ccc98ad052f184f15741672840519b9b55d793c649c267944099c9107e61", + "https://bcr.bazel.build/modules/boost.typeof/1.83.0.bcr.4/source.json": "b9ac0d3bfded3f175fd0b58514f2409782672407bee2242938df5829176f891e", + "https://bcr.bazel.build/modules/boost.unordered/1.83.0.bcr.4/MODULE.bazel": "122f475aca3eb7af7b3e66c1bc6a0139c95ee3629c3625ec7af7ac646be7fad6", + "https://bcr.bazel.build/modules/boost.unordered/1.83.0.bcr.4/source.json": "1afd0e208be668faeea97b63d18ef23232c522e300b454d4a2f164c369dcfb2e", + "https://bcr.bazel.build/modules/boost.utility/1.83.0.bcr.4/MODULE.bazel": "c88f9877366b57c1e05b9e4c498cbf42ab45fc4a44d23d634845793af02651c0", + "https://bcr.bazel.build/modules/boost.utility/1.83.0.bcr.4/source.json": "c291874612c0758f629e5852c2133ede86df3e7c53f9d589aa26bcb0578587e7", + "https://bcr.bazel.build/modules/boost.winapi/1.83.0.bcr.4/MODULE.bazel": "3a36763aafd5fef4844b012bacdc104674cc3ee6a1e8b501a6d68e964a7df20e", + "https://bcr.bazel.build/modules/boost.winapi/1.83.0.bcr.4/source.json": "d4be5cdf5cfdeae83f70211faa034bc41168c75fd98a560464131c8cfc6365fa", + "https://bcr.bazel.build/modules/boost/1.83.0.bcr.4/MODULE.bazel": "0ce94f87f4514f6abd77d7ea9d221cc3432e48957c82d712829b36d53183dd68", + "https://bcr.bazel.build/modules/boost/1.83.0.bcr.4/source.json": "1c17438086d138fbaa8fbd8774b4cdf932314bdff85901c2626a94469bd7fa4f", "https://bcr.bazel.build/modules/boringssl/0.0.0-20211025-d4f1ab9/MODULE.bazel": "6ee6353f8b1a701fe2178e1d925034294971350b6d3ac37e67e5a7d463267834", "https://bcr.bazel.build/modules/boringssl/0.0.0-20230215-5c22014/MODULE.bazel": "4b03dc0d04375fa0271174badcd202ed249870c8e895b26664fd7298abea7282", "https://bcr.bazel.build/modules/boringssl/0.0.0-20240530-2db0eb3/MODULE.bazel": "d0405b762c5e87cd445b7015f2b8da5400ef9a8dbca0bfefa6c1cea79d528a97", @@ -209,8 +207,6 @@ "https://bcr.bazel.build/modules/cel-spec/0.15.0/source.json": "ab7dccdf21ea2261c0f809b5a5221a4d7f8b580309f285fdf1444baaca75d44a", "https://bcr.bazel.build/modules/civetweb/1.16/MODULE.bazel": "46a38f9daeb57392e3827fce7d40926be0c802bd23cdd6bfd3a96c804de42fae", "https://bcr.bazel.build/modules/civetweb/1.16/source.json": "ba8b9585adb8355cb51b999d57172fd05e7a762c56b8d4bac6db42c99de3beb7", - "https://bcr.bazel.build/modules/container_structure_test/1.16.0/MODULE.bazel": "5bf2659d7724e232c10435e7ef3d5b3d3bc4bfc7825060e408b4a5e7d165ddf7", - "https://bcr.bazel.build/modules/container_structure_test/1.16.0/source.json": "c28ee996e071609f1c28fffce4297b0f2cb7f73387a6db56509310910641b188", "https://bcr.bazel.build/modules/curl/8.4.0/MODULE.bazel": "0bc250aa1cb69590049383df7a9537c809591fcf876c620f5f097c58fdc9bc10", "https://bcr.bazel.build/modules/curl/8.7.1/MODULE.bazel": "088221c35a2939c555e6e47cb31a81c15f8b59f4daa8009b1e9271a502d33485", "https://bcr.bazel.build/modules/curl/8.7.1/source.json": "bf9890e809717445b10a3ddc323b6d25c46631589c693a232df8310a25964484", @@ -221,11 +217,11 @@ "https://bcr.bazel.build/modules/download_utils/1.2.2/source.json": "c88be2bc48c98371d35665b805f307a647c98c83327345c918d9088822d77928", "https://bcr.bazel.build/modules/envoy_api/0.0.0-20241214-918efc9/MODULE.bazel": "24e05f6f52f37be63a795192848555a2c8c855e7814dbc1ed419fb04a7005464", "https://bcr.bazel.build/modules/envoy_api/0.0.0-20241214-918efc9/source.json": "212043ab69d87f7a04aa4f627f725b540cff5e145a3a31a9403d8b6ec2e920c9", + "https://bcr.bazel.build/modules/flatbuffers/25.12.19/MODULE.bazel": "fe3a7f7811f43264f68136ad99e64384d70b2a25245e09ab800c4bb83171da25", + "https://bcr.bazel.build/modules/flatbuffers/25.12.19/source.json": "ea0204be7a79de9141cee5fa436e58a14e88b39b5b59227b21efa0394474ebea", "https://bcr.bazel.build/modules/flatbuffers/25.9.23/MODULE.bazel": "32753ba60bf3bacfe7737c0f3e8e3e55624b19af5d398c485580d57492d145d8", - "https://bcr.bazel.build/modules/flatbuffers/25.9.23/source.json": "a2116f0017f6896353fd3abf65ef2b89b0a257e8a87f395c5000f53934829f31", "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.1/MODULE.bazel": "cdf8cbe5ee750db04b78878c9633cc76e80dcf4416cbe982ac3a9222f80713c8", - "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.3/MODULE.bazel": "f1b7bb2dd53e8f2ef984b39485ec8a44e9076dda5c4b8efd2fb4c6a6e856a31d", - "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.3/source.json": "ebe931bfe362e4b41e59ee00a528db6074157ff2ced92eb9e970acab2e1089c9", + "https://bcr.bazel.build/modules/gawk/5.3.2.bcr.1/source.json": "fa7b512dfcb5eafd90ce3959cf42a2a6fe96144ebbb4b3b3928054895f2afac2", "https://bcr.bazel.build/modules/gazelle/0.27.0/MODULE.bazel": "3446abd608295de6d90b4a8a118ed64a9ce11dcb3dda2dc3290a22056bd20996", "https://bcr.bazel.build/modules/gazelle/0.30.0/MODULE.bazel": "f888a1effe338491f35f0e0e85003b47bb9d8295ccba73c37e07702d8d31c65b", "https://bcr.bazel.build/modules/gazelle/0.32.0/MODULE.bazel": "b499f58a5d0d3537f3cf5b76d8ada18242f64ec474d8391247438bf04f58c7b8", @@ -235,7 +231,6 @@ "https://bcr.bazel.build/modules/gazelle/0.36.0/source.json": "0823f097b127e0201ae55d85647c94095edfe27db0431a7ae880dcab08dfaa04", "https://bcr.bazel.build/modules/google_benchmark/1.8.2/MODULE.bazel": "a70cf1bba851000ba93b58ae2f6d76490a9feb74192e57ab8e8ff13c34ec50cb", "https://bcr.bazel.build/modules/google_benchmark/1.8.4/MODULE.bazel": "c6d54a11dcf64ee63545f42561eda3fd94c1b5f5ebe1357011de63ae33739d5e", - "https://bcr.bazel.build/modules/google_benchmark/1.9.4/MODULE.bazel": "3bab7c17c10580f87b647478a72a05621f88abc275afb97b578c828f56e59d45", "https://bcr.bazel.build/modules/google_benchmark/1.9.5/MODULE.bazel": "8a85cfd90b1e45e6e68f1aa2aa9efce3c04add57df732571d7fd54c07e7c5143", "https://bcr.bazel.build/modules/google_benchmark/1.9.5/source.json": "0bd357fd9db30ee31d5eb4c78b1086ce3d79b4423ce76de19e8a2fa7b2fa2e10", "https://bcr.bazel.build/modules/googleapis/0.0.0-20240326-1c8d509c5/MODULE.bazel": "a4b7e46393c1cdcc5a00e6f85524467c48c565256b22b5fae20f84ab4a999a68", @@ -362,15 +357,12 @@ "https://bcr.bazel.build/modules/rules_cc/0.1.5/MODULE.bazel": "88dfc9361e8b5ae1008ac38f7cdfd45ad738e4fa676a3ad67d19204f045a1fd8", "https://bcr.bazel.build/modules/rules_cc/0.2.14/MODULE.bazel": "353c99ed148887ee89c54a17d4100ae7e7e436593d104b668476019023b58df8", "https://bcr.bazel.build/modules/rules_cc/0.2.16/MODULE.bazel": "9242fa89f950c6ef7702801ab53922e99c69b02310c39fb6e62b2bd30df2a1d4", - "https://bcr.bazel.build/modules/rules_cc/0.2.16/source.json": "d03d5cde49376d87e14ec14b666c56075e5e3926930327fd5d0484a1ff2ac1cc", + "https://bcr.bazel.build/modules/rules_cc/0.2.17/MODULE.bazel": "1849602c86cb60da8613d2de887f9566a6d354a6df6d7009f9d04a14402f9a84", + "https://bcr.bazel.build/modules/rules_cc/0.2.17/source.json": "3832f45d145354049137c0090df04629d9c2b5493dc5c2bf46f1834040133a07", "https://bcr.bazel.build/modules/rules_cc/0.2.4/MODULE.bazel": "1ff1223dfd24f3ecf8f028446d4a27608aa43c3f41e346d22838a4223980b8cc", "https://bcr.bazel.build/modules/rules_cc/0.2.8/MODULE.bazel": "f1df20f0bf22c28192a794f29b501ee2018fa37a3862a1a2132ae2940a23a642", "https://bcr.bazel.build/modules/rules_diff/1.0.0/MODULE.bazel": "1739509d8db9a6cd7d3584822340d3dfe1f9f27e62462fbca60aa061d88741b2", "https://bcr.bazel.build/modules/rules_diff/1.0.0/source.json": "fc3824aed007b4db160ffb994036c6e558550857b6634a8e9ccee3e74c659312", - "https://bcr.bazel.build/modules/rules_distroless/0.6.1/MODULE.bazel": "ce96d59d70695eadf53f45d752fef38f7ac59c117f5db32bb61767a732fe090b", - "https://bcr.bazel.build/modules/rules_distroless/0.6.1/source.json": "bdea3dd4883fed8478564675d7bcc15eb3bd366245ec51c6d317d100c6af59b5", - "https://bcr.bazel.build/modules/rules_doxygen/2.5.0/MODULE.bazel": "9313b96bdc6e2d3d6f32b79c4a28ba297af796111cd8d5fa00a4be6dd8ec6d4a", - "https://bcr.bazel.build/modules/rules_doxygen/2.5.0/source.json": "37944e37dd56f709449d2885cd5397d6b1a50905c91d3f302f46f23c89576cc8", "https://bcr.bazel.build/modules/rules_foreign_cc/0.10.1/MODULE.bazel": "b9527010e5fef060af92b6724edb3691970a5b1f76f74b21d39f7d433641be60", "https://bcr.bazel.build/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "c9e8c682bf75b0e7c704166d79b599f93b72cfca5ad7477df596947891feeef6", "https://bcr.bazel.build/modules/rules_fuzzing/0.5.2/MODULE.bazel": "40c97d1144356f52905566c55811f13b299453a14ac7769dfba2ac38192337a8", @@ -406,7 +398,6 @@ "https://bcr.bazel.build/modules/rules_java/8.15.1/source.json": "e48286d5819767bc5b3d457539ae7f94e28a9b3e55d092d5c47176cb6a2a289b", "https://bcr.bazel.build/modules/rules_java/8.3.2/MODULE.bazel": "7336d5511ad5af0b8615fdc7477535a2e4e723a357b6713af439fe8cf0195017", "https://bcr.bazel.build/modules/rules_java/8.5.1/MODULE.bazel": "d8a9e38cc5228881f7055a6079f6f7821a073df3744d441978e7a43e20226939", - "https://bcr.bazel.build/modules/rules_java/8.8.0/MODULE.bazel": "de589d0880911ac007abd521b9f0ddcd8b0dbd05c8553e6f8124a050b83acf7d", "https://bcr.bazel.build/modules/rules_jvm_external/4.4.2/MODULE.bazel": "a56b85e418c83eb1839819f0b515c431010160383306d13ec21959ac412d2fe7", "https://bcr.bazel.build/modules/rules_jvm_external/5.1/MODULE.bazel": "33f6f999e03183f7d088c9be518a63467dfd0be94a11d0055fe2d210f89aa909", "https://bcr.bazel.build/modules/rules_jvm_external/5.2/MODULE.bazel": "d9351ba35217ad0de03816ef3ed63f89d411349353077348a45348b096615036", @@ -434,8 +425,6 @@ "https://bcr.bazel.build/modules/rules_nodejs/6.3.3/MODULE.bazel": "b66eadebd10f1f1b25f52f95ab5213a57e82c37c3f656fcd9a57ad04d2264ce7", "https://bcr.bazel.build/modules/rules_nodejs/6.5.2/MODULE.bazel": "7f9ea68a0ce6d82905ce9f74e76ab8a8b4531ed4c747018c9d76424ad0b3370d", "https://bcr.bazel.build/modules/rules_nodejs/6.5.2/source.json": "6a6ca0940914d55c550d1417cad13a56c9900e23f651a762d8ccc5a64adcf661", - "https://bcr.bazel.build/modules/rules_oci/1.8.0/MODULE.bazel": "a4d656f6a0e7c7c1a73b9e394e37c8f9bbc237143ce9e19deba7a532fe189552", - "https://bcr.bazel.build/modules/rules_oci/1.8.0/source.json": "c14770a5dfba2980d8f1ebeaac0bfa4848ffb7febfca84ac2a7fd7e8f4d9e1e3", "https://bcr.bazel.build/modules/rules_pkg/0.7.0/MODULE.bazel": "df99f03fc7934a4737122518bb87e667e62d780b610910f0447665a7e2be62dc", "https://bcr.bazel.build/modules/rules_pkg/1.0.1/MODULE.bazel": "5b1df97dbc29623bccdf2b0dcd0f5cb08e2f2c9050aab1092fd39a41e82686ff", "https://bcr.bazel.build/modules/rules_pkg/1.1.0/MODULE.bazel": "9db8031e71b6ef32d1846106e10dd0ee2deac042bd9a2de22b4761b0c3036453", @@ -497,8 +486,7 @@ "https://bcr.bazel.build/modules/swift_argument_parser/1.3.1.1/source.json": "32bd87e5f4d7acc57c5b2ff7c325ae3061d5e242c0c4c214ae87e0f1c13e54cb", "https://bcr.bazel.build/modules/tar.bzl/0.2.1/MODULE.bazel": "52d1c00a80a8cc67acbd01649e83d8dd6a9dc426a6c0b754a04fe8c219c76468", "https://bcr.bazel.build/modules/tar.bzl/0.5.1/MODULE.bazel": "7c2eb3dcfc53b0f3d6f9acdfd911ca803eaf92aadf54f8ca6e4c1f3aee288351", - "https://bcr.bazel.build/modules/tar.bzl/0.6.0/MODULE.bazel": "a3584b4edcfafcabd9b0ef9819808f05b372957bbdff41601429d5fd0aac2e7c", - "https://bcr.bazel.build/modules/tar.bzl/0.6.0/source.json": "4a620381df075a16cb3a7ed57bd1d05f7480222394c64a20fa51bdb636fda658", + "https://bcr.bazel.build/modules/tar.bzl/0.5.1/source.json": "deed3094f7cc779ed1d37a68403847b0e38d9dd9d931e03cb90825f3368b515f", "https://bcr.bazel.build/modules/toolchain_utils/1.0.2/MODULE.bazel": "9b8be503a4fcfd3b8b952525bff0869177a5234d5c35dc3e566b9f5ca2f755a1", "https://bcr.bazel.build/modules/toolchain_utils/1.0.2/source.json": "88769ec576dddacafd8cca4631812cf8eead89f10a29d9405d9f7a553de6bf87", "https://bcr.bazel.build/modules/toolchains_protoc/0.2.1/MODULE.bazel": "2f08433ff5e659069b3a1abfee2377d68f510f2de1da50678ed992c455b4ff91", @@ -509,8 +497,7 @@ "https://bcr.bazel.build/modules/xds/0.0.0-20240423-555b57e/MODULE.bazel": "cea509976a77e34131411684ef05a1d6ad194dd71a8d5816643bc5b0af16dc0f", "https://bcr.bazel.build/modules/xds/0.0.0-20240423-555b57e/source.json": "7227e1fcad55f3f3cab1a08691ecd753cb29cc6380a47bc650851be9f9ad6d20", "https://bcr.bazel.build/modules/yq.bzl/0.1.1/MODULE.bazel": "9039681f9bcb8958ee2c87ffc74bdafba9f4369096a2b5634b88abc0eaefa072", - "https://bcr.bazel.build/modules/yq.bzl/0.3.1/MODULE.bazel": "9bcb7151b3cd4681b89d350530eaf7b45e32a44dda94843b8932b0cb1cd4594a", - "https://bcr.bazel.build/modules/yq.bzl/0.3.1/source.json": "f0b0f204a2a6b0e34b4c9541efe8c04f2ef1af65948daa784eccea738b21dbd2", + "https://bcr.bazel.build/modules/yq.bzl/0.1.1/source.json": "2d2bad780a9f2b9195a4a370314d2c17ae95eaa745cefc2e12fbc49759b15aa3", "https://bcr.bazel.build/modules/zlib/1.2.11/MODULE.bazel": "07b389abc85fdbca459b69e2ec656ae5622873af3f845e1c9d80fe179f3effa0", "https://bcr.bazel.build/modules/zlib/1.2.12/MODULE.bazel": "3b1a8834ada2a883674be8cbd36ede1b6ec481477ada359cd2d3ddc562340b27", "https://bcr.bazel.build/modules/zlib/1.2.13/MODULE.bazel": "aa6deb1b83c18ffecd940c4119aff9567cd0a671d7bba756741cb2ef043a29d5", @@ -540,10 +527,8 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.17.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.22.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/apple_support/1.24.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/1.28.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/1.31.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/1.38.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/1.42.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/1.42.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/2.0.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_bazel_lib/2.11.0/MODULE.bazel": "not found", @@ -562,7 +547,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_js/2.3.8/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/0.12.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.0.3/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.13.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/1.5.3/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/2.0.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/aspect_rules_lint/2.3.0/MODULE.bazel": "not found", @@ -582,14 +566,12 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.18.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.19.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.2.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.20.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.21.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.27.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.28.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.3.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.30.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.32.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.34.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.4.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.9.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_features/1.9.1/MODULE.bazel": "not found", @@ -609,49 +591,51 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_skylib/1.7.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_skylib/1.8.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_skylib/1.8.2/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.any/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.array/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.assert/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.bind/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.concept_check/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.config/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.container/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.container_hash/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.conversion/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.core/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.describe/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.detail/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.function/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.function_types/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.functional/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.fusion/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.integer/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.interprocess/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.intrusive/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.io/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.iterator/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.lexical_cast/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.move/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.mp11/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.mpl/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.numeric_conversion/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.optional/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.predef/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.preprocessor/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.program_options/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.range/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.regex/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.smart_ptr/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.static_assert/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.throw_exception/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.tokenizer/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.tuple/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.type_index/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.type_traits/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.typeof/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.unordered/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.utility/1.87.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.winapi/1.87.0/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/bazel_skylib/1.9.0/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.any/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.array/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.assert/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.bind/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.concept_check/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.config/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.container/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.container_hash/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.conversion/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.core/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.describe/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.detail/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.function/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.function_types/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.functional/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.fusion/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.integer/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.interprocess/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.intrusive/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.io/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.iterator/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.lexical_cast/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.move/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.mp11/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.mpl/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.numeric_conversion/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.optional/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.predef/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.preprocessor/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.program_options/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.range/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.regex/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.smart_ptr/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.static_assert/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.throw_exception/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.tokenizer/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.tuple/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.type_index/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.type_traits/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.typeof/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.unordered/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.utility/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost.winapi/1.83.0.bcr.4/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boost/1.83.0.bcr.4/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boringssl/0.0.0-20211025-d4f1ab9/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boringssl/0.0.0-20230215-5c22014/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/boringssl/0.0.0-20240530-2db0eb3/MODULE.bazel": "not found", @@ -666,16 +650,15 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/c-ares/1.15.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/cel-spec/0.15.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/civetweb/1.16/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/container_structure_test/1.16.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/curl/8.4.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/curl/8.7.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/cython/3.0.11-1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/download_utils/1.0.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/download_utils/1.2.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/envoy_api/0.0.0-20241214-918efc9/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/flatbuffers/25.12.19/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/flatbuffers/25.9.23/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gawk/5.3.2.bcr.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gawk/5.3.2.bcr.3/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.27.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.30.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.32.0/MODULE.bazel": "not found", @@ -684,7 +667,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/gazelle/0.36.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.8.4/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.9.4/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/google_benchmark/1.9.5/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googleapis/0.0.0-20240326-1c8d509c5/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/googleapis/0.0.0-20240819-fe8ba054a/MODULE.bazel": "not found", @@ -784,11 +766,10 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.1.5/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.14/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.16/MODULE.bazel": "not found", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.17/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.4/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_cc/0.2.8/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_diff/1.0.0/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_distroless/0.6.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_doxygen/2.5.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_foreign_cc/0.10.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_foreign_cc/0.9.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_fuzzing/0.5.2/MODULE.bazel": "not found", @@ -821,7 +802,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.15.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.3.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.5.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_java/8.8.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_jvm_external/4.4.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_jvm_external/5.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_jvm_external/5.2/MODULE.bazel": "not found", @@ -843,7 +823,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.3.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.3.3/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_nodejs/6.5.2/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_oci/1.8.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_pkg/0.7.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_pkg/1.0.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_pkg/1.1.0/MODULE.bazel": "not found", @@ -888,7 +867,9 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/1.16.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/1.18.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_swift/2.1.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs_rust/0.0.1/MODULE.bazel": "3dc578390bfa0bb61a137e28020ca01c4fc5e035967ab9fbd278ba991144c411", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.6/MODULE.bazel": "36db2ffb07d1b4cc91f44ffbdb17cab834baef0fb3173c5e9b6885868fdc420c", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.7/MODULE.bazel": "7383c9e593051051d128ca34be078abb365e14c2b12a15237f451240fc27ad73", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs/0.2.7/source.json": "70b750a4582db620d562d53735f9212e8d1b7486491e65293ca06035f20b6a74", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs_rust/0.1.0/MODULE.bazel": "e9f8781fa23b58a7c4815d662d82a9a472d8dddc306f08cba3853928f3b760fe", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_baselibs_rust/0.1.0/source.json": "f569a33fda1de61ccb962e19b72af745d93ba3f543c98b6ee72f81c9b890185f", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_cpp_toolchains/0.5.1/MODULE.bazel": "c92d6f92b79fc96c4d9f033af21d65a0f8ce714da387da61160111e3b3babd25", @@ -898,14 +879,16 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/0.1.1/MODULE.bazel": "236e5bdff6f2d6de6f96cc4f5f4b1bf2cd6137547ce279668a2dd4c54cd4236c", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/0.1.2/MODULE.bazel": "d1889bf36241521c5d5c401aaf1e98242a60f9cab9d223f8190e5d7087956e83", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/0.1.2/source.json": "549c18a968c1ab76135ad38fd15981fcc04d377a62f20e2e5e0b5faa9de2b01d", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_communication/0.2.1/MODULE.bazel": "4f9e3ac5a12e510412025dc0860bf56c2a186c4e9c4f7144c8fd425aca492bbf", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_communication/0.2.1/source.json": "598f3278128013fb96cb86586c045d045bcaa43869d563f7155101990fe5dd9e", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_crates/0.0.6/MODULE.bazel": "da72d24b2afb4456377f7ee13d0d95fb6bfc70dbfb949c7b8676618e661edf61", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_crates/0.0.6/source.json": "835d9f14e0a1d8e06f3c4c006c36c30c20ba428cffb6ad622cb1fbc62b5a13ef", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_crates/0.0.9/MODULE.bazel": "8f581e0a658a6dab149f381d783443cb00b559f4e9623956f8ff3de06108c550", + "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_crates/0.0.9/source.json": "58f24336e5e21d53551c0f0d304b0efa318eca031d296f33b998996c73573ce3", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/4.0.1/MODULE.bazel": "5955f4cf37228a9cdda7f6009b81db0446f005c618f4bc43665bfa45f2673ebc", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_docs_as_code/4.0.1/source.json": "636a0e9413885bc483d98cd32ba14709fb694f8b07bd8a112641092dc699db90", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_platform/0.5.5/MODULE.bazel": "070fa5fb10456e50675bcad2958fec0ed834f0aadbd0b71f25917f9e7edae2e2", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_platform/0.5.5/source.json": "1ce2e94f0e366eaae131091aaee2c16199c974e82959eec9d863c9b0c93f2fdc", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.3.2/MODULE.bazel": "a32390ef217cef9a811408b0a1c5aeed1398c377aa846f5d5416d7b95b4e4366", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.4.3/MODULE.bazel": "eb8243299a6ae3663618db5b4718e2c0d3c93f91a44994641e70106c400b23fb", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.5.3/MODULE.bazel": "65024b7f23ce5f72bd6ffd455a67c042ecf56d267f0bf63a90330a3241781b7a", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.5.4/MODULE.bazel": "efd56704f1a93e670032e7c0e4fad97669aa3b348fb1a4cd40f67e4dd4c7037c", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_process/1.5.4/source.json": "f3aef1e0b1f524f92acdcbda47ba0ade10fcdeed5c686524ec69d89eb4cda835", @@ -916,7 +899,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_toolchains_rust/0.8.0/MODULE.bazel": "ea57a9a4dcb8ad49f4556f824500eb559365f413ccbb39d70d0b363685aacec5", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_toolchains_rust/0.8.0/source.json": "394a615e03ad722bc27bd4a6f098c6ff2fe7120b69cdf3925d47e39d30ada8a4", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tooling/1.0.2/MODULE.bazel": "e70f396375b9d612b4f41ebceff7f18f68ab423b14625c138a354cc01bc62a10", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tooling/1.0.4/MODULE.bazel": "89da6c5a0a5fab61ff842648bc9d7d26e4a389ba33b459a9f5449257ddd04c5a", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tooling/1.1.0/MODULE.bazel": "5a04a5ce3512eb742a036600fba58b465f427e2e193db8e88857132e4a4eb513", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tooling/1.1.2/MODULE.bazel": "56d08309931cfad67c2b6691207bb5f761a3946830d620c630d2436630e6b499", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_tooling/1.2.0/MODULE.bazel": "982db97a4f8440356ea935f103204f644fb2b84d8188df63533c7312c82afc37", @@ -933,7 +915,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/swift_argument_parser/1.3.1.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/tar.bzl/0.2.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/tar.bzl/0.5.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/tar.bzl/0.6.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchain_utils/1.0.2/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/toolchains_protoc/0.2.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20211020-160625a/MODULE.bazel": "not found", @@ -942,7 +923,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/upb/0.0.0-20230907-e7430e6/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/xds/0.0.0-20240423-555b57e/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/yq.bzl/0.1.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/yq.bzl/0.3.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/zlib/1.2.11/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/zlib/1.2.12/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/zlib/1.2.13/MODULE.bazel": "not found", @@ -956,7 +936,7 @@ "moduleExtensions": { "@@aspect_rules_esbuild+//esbuild:extensions.bzl%esbuild": { "general": { - "bzlTransitiveDigest": "OzmSvWXmpQb5OrYMcaAgjEwUMeD7JkcFzT3LbvGnLYI=", + "bzlTransitiveDigest": "Kh8EZDaqsCMhzy4ccRBWSlAImfY48SVMcMcgex9AkSc=", "usagesDigest": "sj4kz7yaVclWMuWhUhSLq0bVH7+HrkWyMdODMeA7Zhw=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -1123,7 +1103,7 @@ }, "@@aspect_rules_js+//npm:extensions.bzl%pnpm": { "general": { - "bzlTransitiveDigest": "gZxiJBCZj1zaHvQcRePMljqVrtezOO+4cIYSVLhEcWE=", + "bzlTransitiveDigest": "zoKTcy7fPAV5QaUXTnz2jN+dRPDSRTkYN0EkWj/iI1M=", "usagesDigest": "kbjSw2REjlSC0HtTZDf2p+l/dmiMt3NHLoiWEXYAoQI=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -1361,40 +1341,6 @@ ] } }, - "@@aspect_rules_ts+//ts:extensions.bzl%ext": { - "general": { - "bzlTransitiveDigest": "KdKJhZ+RDkhwiZ5m/Rn7rub9wtC/dU1GIsHbCwDxfQY=", - "usagesDigest": "caXVbnxEUN71ZxydJbg6pZ8NaFPVDbNp12wS9TMC824=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "npm_typescript": { - "repoRuleId": "@@aspect_rules_ts+//ts/private:npm_repositories.bzl%http_archive_version", - "attributes": { - "bzlmod": true, - "version": "5.8.3", - "integrity": "", - "build_file": "@@aspect_rules_ts+//ts:BUILD.typescript", - "build_file_substitutions": { - "bazel_worker_version": "5.4.2", - "google_protobuf_version": "3.20.1" - }, - "urls": [ - "https://registry.npmjs.org/typescript/-/typescript-{}.tgz" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "aspect_rules_ts+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, "@@aspect_tools_telemetry+//:extension.bzl%telemetry": { "general": { "bzlTransitiveDigest": "gA7tPEdJXhskzPIEUxjX9IdDrM6+WjfbgXJ8Ez47umk=", @@ -1624,67 +1570,6 @@ ] } }, - "@@container_structure_test+//:repositories.bzl%extension": { - "general": { - "bzlTransitiveDigest": "/vl5vOyGN/nxHtUF3SxoDZnTDgDklt4HUpLQD5LE8+k=", - "usagesDigest": "WCu9SjsdaiOEDLolhYakkmsrItBrznRxVbmS81zCREg=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "structure_test_st_darwin_amd64": { - "repoRuleId": "@@container_structure_test+//:repositories.bzl%structure_test_repositories", - "attributes": { - "platform": "darwin_amd64" - } - }, - "structure_test_st_darwin_arm64": { - "repoRuleId": "@@container_structure_test+//:repositories.bzl%structure_test_repositories", - "attributes": { - "platform": "darwin_arm64" - } - }, - "structure_test_st_linux_arm64": { - "repoRuleId": "@@container_structure_test+//:repositories.bzl%structure_test_repositories", - "attributes": { - "platform": "linux_arm64" - } - }, - "structure_test_st_linux_i386": { - "repoRuleId": "@@container_structure_test+//:repositories.bzl%structure_test_repositories", - "attributes": { - "platform": "linux_i386" - } - }, - "structure_test_st_linux_s390x": { - "repoRuleId": "@@container_structure_test+//:repositories.bzl%structure_test_repositories", - "attributes": { - "platform": "linux_s390x" - } - }, - "structure_test_st_linux_amd64": { - "repoRuleId": "@@container_structure_test+//:repositories.bzl%structure_test_repositories", - "attributes": { - "platform": "linux_amd64" - } - }, - "structure_test_st_windows_amd64": { - "repoRuleId": "@@container_structure_test+//:repositories.bzl%structure_test_repositories", - "attributes": { - "platform": "windows_amd64" - } - }, - "structure_test_toolchains": { - "repoRuleId": "@@container_structure_test+//bazel:toolchains_repo.bzl%toolchains_repo", - "attributes": { - "toolchain_type": "@container_structure_test//bazel:structure_test_toolchain_type", - "toolchain": "@structure_test_st_{platform}//:structure_test_toolchain" - } - } - }, - "recordedRepoMappingEntries": [] - } - }, "@@envoy_api+//bazel:repositories.bzl%non_module_deps": { "general": { "bzlTransitiveDigest": "zoTuufNmmcfLHM15yon0+OOm6uctbBTuxM0dSmD2QU4=", @@ -2025,7 +1910,7 @@ }, "@@rules_apple+//apple:apple.bzl%provisioning_profile_repository_extension": { "general": { - "bzlTransitiveDigest": "pdRt+Wm+XQmS427nAIg9z7qfm56CnZChO+HJ4zu3Xa8=", + "bzlTransitiveDigest": "2cBXTE/fvClSpGce+ynwObOpFH/7oWFzmeSUGe5Pbfw=", "usagesDigest": "vsJl8Rw5NL+5Ag2wdUDoTeRF/5klkXO8545Iy7U1Q08=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -2168,57 +2053,6 @@ ] } }, - "@@rules_doxygen+//:extensions.bzl%doxygen_extension": { - "general": { - "bzlTransitiveDigest": "YFdBhqBEMcSankwSZ8cPe28DK9IgZ4CYmjBAJ+s50yA=", - "usagesDigest": "A79jNB9hZN4VO1M4gFWBuDM1mtZShfAzjtMqZ8bZo5E=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "doxygen": { - "repoRuleId": "@@rules_doxygen+//:extensions.bzl%doxygen_repository", - "attributes": { - "versions": [ - "1.14.0", - "1.14.0", - "1.14.0", - "1.14.0", - "1.14.0" - ], - "sha256s": [ - "3843742c604e145dab26f74ebd386af0656bc2feb6f834c12c1abb7b3c019d8b", - "ad2c71cb286100d4eaccd0b9d92751c88c4bd0501990f7eccc50aa946f827dc7", - "ad2c71cb286100d4eaccd0b9d92751c88c4bd0501990f7eccc50aa946f827dc7", - "e5d6ae24d0bf3f0cdc4d8f146726b89ca323922f19441af99b1872d503665ad6", - "e5d6ae24d0bf3f0cdc4d8f146726b89ca323922f19441af99b1872d503665ad6" - ], - "platforms": [ - "windows", - "mac", - "mac-arm", - "linux", - "linux-arm" - ], - "executables": [ - "", - "", - "", - "", - "" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_doxygen+", - "rules_doxygen", - "rules_doxygen+" - ] - ] - } - }, "@@rules_fuzzing+//fuzzing/private:extensions.bzl%non_module_dependencies": { "general": { "bzlTransitiveDigest": "lxvzPQyluk241QRYY81nZHOcv5Id/5U2y6dp42qibis=", @@ -2369,7 +2203,7 @@ "@@rules_nodejs+//nodejs:extensions.bzl%node": { "general": { "bzlTransitiveDigest": "FmfMiNXAxRoLWw3NloQbssosE1egrSvzirbQnso7j7E=", - "usagesDigest": "FljLD9AC+WVWByJjsDiHUHbHvQ0Z4D82NI5icBjtLf4=", + "usagesDigest": "wOiX5pSSli1W+0Ahr7t2b6xaVFBTbHGPGTzmq4oN4is=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, @@ -2500,364 +2334,6 @@ "recordedRepoMappingEntries": [] } }, - "@@rules_oci+//oci:extensions.bzl%oci": { - "general": { - "bzlTransitiveDigest": "wasvfh6aohLfkZI6IygBdtuiTEBLq6CN2hM4q7USt8M=", - "usagesDigest": "P8lZeaezEzUOpL09JakO8COX/vmL9M0ZIxRqqr8lRK4=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "ubuntu_24_04_linux_amd64": { - "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_pull", - "attributes": { - "scheme": "https", - "registry": "index.docker.io", - "repository": "library/ubuntu", - "identifier": "sha256:2e863c44b718727c860746568e1d54afd13b2fa71b160f5cd9058fc436217b30", - "platform": "linux/amd64", - "target_name": "ubuntu_24_04_linux_amd64", - "bazel_tags": [] - } - }, - "ubuntu_24_04": { - "repoRuleId": "@@rules_oci+//oci/private:pull.bzl%oci_alias", - "attributes": { - "target_name": "ubuntu_24_04", - "scheme": "https", - "registry": "index.docker.io", - "repository": "library/ubuntu", - "identifier": "sha256:2e863c44b718727c860746568e1d54afd13b2fa71b160f5cd9058fc436217b30", - "platforms": { - "@@platforms//cpu:x86_64": "@ubuntu_24_04_linux_amd64" - }, - "bzlmod_repository": "ubuntu_24_04", - "reproducible": true - } - }, - "yq_darwin_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:yq_toolchain.bzl%yq_platform_repo", - "attributes": { - "platform": "darwin_amd64", - "version": "4.45.2" - } - }, - "yq_darwin_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:yq_toolchain.bzl%yq_platform_repo", - "attributes": { - "platform": "darwin_arm64", - "version": "4.45.2" - } - }, - "yq_linux_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:yq_toolchain.bzl%yq_platform_repo", - "attributes": { - "platform": "linux_amd64", - "version": "4.45.2" - } - }, - "yq_linux_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:yq_toolchain.bzl%yq_platform_repo", - "attributes": { - "platform": "linux_arm64", - "version": "4.45.2" - } - }, - "yq_linux_s390x": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:yq_toolchain.bzl%yq_platform_repo", - "attributes": { - "platform": "linux_s390x", - "version": "4.45.2" - } - }, - "yq_linux_riscv64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:yq_toolchain.bzl%yq_platform_repo", - "attributes": { - "platform": "linux_riscv64", - "version": "4.45.2" - } - }, - "yq_linux_ppc64le": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:yq_toolchain.bzl%yq_platform_repo", - "attributes": { - "platform": "linux_ppc64le", - "version": "4.45.2" - } - }, - "yq_windows_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:yq_toolchain.bzl%yq_platform_repo", - "attributes": { - "platform": "windows_amd64", - "version": "4.45.2" - } - }, - "yq_windows_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:yq_toolchain.bzl%yq_platform_repo", - "attributes": { - "platform": "windows_arm64", - "version": "4.45.2" - } - }, - "yq": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:yq_toolchain.bzl%yq_host_alias_repo", - "attributes": {} - }, - "yq_toolchains": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:yq_toolchain.bzl%yq_toolchains_repo", - "attributes": { - "user_repository_name": "yq" - } - }, - "jq_darwin_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", - "attributes": { - "platform": "darwin_amd64", - "version": "1.7" - } - }, - "jq_darwin_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", - "attributes": { - "platform": "darwin_arm64", - "version": "1.7" - } - }, - "jq_linux_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", - "attributes": { - "platform": "linux_amd64", - "version": "1.7" - } - }, - "jq_linux_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", - "attributes": { - "platform": "linux_arm64", - "version": "1.7" - } - }, - "jq_windows_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_platform_repo", - "attributes": { - "platform": "windows_amd64", - "version": "1.7" - } - }, - "jq": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_host_alias_repo", - "attributes": {} - }, - "jq_toolchains": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:jq_toolchain.bzl%jq_toolchains_repo", - "attributes": { - "user_repository_name": "jq" - } - }, - "coreutils_darwin_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", - "attributes": { - "platform": "darwin_amd64", - "version": "0.1.0" - } - }, - "coreutils_darwin_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", - "attributes": { - "platform": "darwin_arm64", - "version": "0.1.0" - } - }, - "coreutils_linux_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", - "attributes": { - "platform": "linux_amd64", - "version": "0.1.0" - } - }, - "coreutils_linux_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", - "attributes": { - "platform": "linux_arm64", - "version": "0.1.0" - } - }, - "coreutils_windows_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", - "attributes": { - "platform": "windows_amd64", - "version": "0.1.0" - } - }, - "coreutils_windows_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_platform_repo", - "attributes": { - "platform": "windows_arm64", - "version": "0.1.0" - } - }, - "coreutils_toolchains": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:coreutils_toolchain.bzl%coreutils_toolchains_repo", - "attributes": { - "user_repository_name": "coreutils" - } - }, - "copy_to_directory_darwin_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "darwin_amd64" - } - }, - "copy_to_directory_darwin_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "darwin_arm64" - } - }, - "copy_to_directory_freebsd_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "freebsd_amd64" - } - }, - "copy_to_directory_linux_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "linux_amd64" - } - }, - "copy_to_directory_linux_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "linux_arm64" - } - }, - "copy_to_directory_linux_s390x": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "linux_s390x" - } - }, - "copy_to_directory_windows_amd64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "windows_amd64" - } - }, - "copy_to_directory_windows_arm64": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_platform_repo", - "attributes": { - "platform": "windows_arm64" - } - }, - "copy_to_directory_toolchains": { - "repoRuleId": "@@aspect_bazel_lib+//lib/private:copy_to_directory_toolchain.bzl%copy_to_directory_toolchains_repo", - "attributes": { - "user_repository_name": "copy_to_directory" - } - }, - "oci_crane_darwin_amd64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "darwin_amd64", - "crane_version": "v0.18.0" - } - }, - "oci_crane_darwin_arm64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "darwin_arm64", - "crane_version": "v0.18.0" - } - }, - "oci_crane_linux_arm64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "linux_arm64", - "crane_version": "v0.18.0" - } - }, - "oci_crane_linux_armv6": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "linux_armv6", - "crane_version": "v0.18.0" - } - }, - "oci_crane_linux_i386": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "linux_i386", - "crane_version": "v0.18.0" - } - }, - "oci_crane_linux_s390x": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "linux_s390x", - "crane_version": "v0.18.0" - } - }, - "oci_crane_linux_amd64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "linux_amd64", - "crane_version": "v0.18.0" - } - }, - "oci_crane_windows_armv6": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "windows_armv6", - "crane_version": "v0.18.0" - } - }, - "oci_crane_windows_amd64": { - "repoRuleId": "@@rules_oci+//oci:repositories.bzl%crane_repositories", - "attributes": { - "platform": "windows_amd64", - "crane_version": "v0.18.0" - } - }, - "oci_crane_toolchains": { - "repoRuleId": "@@rules_oci+//oci/private:toolchains_repo.bzl%toolchains_repo", - "attributes": { - "toolchain_type": "@rules_oci//oci:crane_toolchain_type", - "toolchain": "@oci_crane_{platform}//:crane_toolchain" - } - }, - "oci_crane_registry_toolchains": { - "repoRuleId": "@@rules_oci+//oci/private:toolchains_repo.bzl%toolchains_repo", - "attributes": { - "toolchain_type": "@rules_oci//oci:registry_toolchain_type", - "toolchain": "@oci_crane_{platform}//:registry_toolchain" - } - } - }, - "moduleExtensionMetadata": { - "explicitRootModuleDirectDeps": [], - "explicitRootModuleDirectDevDeps": [], - "useAllRepos": "NO", - "reproducible": false - }, - "recordedRepoMappingEntries": [ - [ - "aspect_bazel_lib+", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_oci+", - "aspect_bazel_lib", - "aspect_bazel_lib+" - ], - [ - "rules_oci+", - "bazel_skylib", - "bazel_skylib+" - ] - ] - } - }, "@@rules_python+//python/extensions:config.bzl%config": { "general": { "bzlTransitiveDigest": "V+wrDxg73HRC54yN8US3eQCsE4GnYCcebkee7voYa1E=", @@ -3136,8 +2612,8 @@ }, "@@rules_rust+//crate_universe:extensions.bzl%crate": { "general": { - "bzlTransitiveDigest": "gGgPEd2tgKm/M/uw0I6ScJso/HdjO9pRWWEyI6PBQ0M=", - "usagesDigest": "Sdbg6tnnXyRANKIE7Bi/SYzIcKY0cjgLVpG1GnYlBrc=", + "bzlTransitiveDigest": "avVsBY5cpKz7aSGsh2VwMoY+t5w1eLdvgz7lbaGLUJ4=", + "usagesDigest": "x8BgpMKl9PSqsd/3e8hxFsnFxhmk5BGaDTmHs1f0Z5A=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": { @@ -4237,9 +3713,9 @@ "repoRuleId": "@@rules_rust+//crate_universe:extensions.bzl%_generate_repo", "attributes": { "contents": { - "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n [\n \"cargo-bazel.json\",\n \"crates.bzl\",\n \"defs.bzl\",\n ] + glob(\n allow_empty = True,\n include = [\"*.bazel\"],\n ),\n)\n\nfilegroup(\n name = \"srcs\",\n srcs = glob(\n allow_empty = True,\n include = [\n \"*.bazel\",\n \"*.bzl\",\n ],\n ),\n)\n\n# Workspace Member Dependencies\nalias(\n name = \"adler32-1.2.0\",\n actual = \"@crate_index__adler32-1.2.0//:adler32\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"adler32\",\n actual = \"@crate_index__adler32-1.2.0//:adler32\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anyhow-1.0.102\",\n actual = \"@crate_index__anyhow-1.0.102//:anyhow\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anyhow\",\n actual = \"@crate_index__anyhow-1.0.102//:anyhow\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"argh-0.1.19\",\n actual = \"@crate_index__argh-0.1.19//:argh\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"argh\",\n actual = \"@crate_index__argh-0.1.19//:argh\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"arrayvec-0.7.6\",\n actual = \"@crate_index__arrayvec-0.7.6//:arrayvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"arrayvec\",\n actual = \"@crate_index__arrayvec-0.7.6//:arrayvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"async-stream-0.3.6\",\n actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"async-stream\",\n actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bytes-1.11.1\",\n actual = \"@crate_index__bytes-1.11.1//:bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bytes\",\n actual = \"@crate_index__bytes-1.11.1//:bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cc-1.2.61\",\n actual = \"@crate_index__cc-1.2.61//:cc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cc\",\n actual = \"@crate_index__cc-1.2.61//:cc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap-4.6.1\",\n actual = \"@crate_index__clap-4.6.1//:clap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap\",\n actual = \"@crate_index__clap-4.6.1//:clap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"console-0.16.3\",\n actual = \"@crate_index__console-0.16.3//:console\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"console\",\n actual = \"@crate_index__console-0.16.3//:console\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ctrlc-3.5.2\",\n actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ctrlc\",\n actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"env_logger-0.11.10\",\n actual = \"@crate_index__env_logger-0.11.10//:env_logger\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"env_logger\",\n actual = \"@crate_index__env_logger-0.11.10//:env_logger\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"futures-0.3.32\",\n actual = \"@crate_index__futures-0.3.32//:futures\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"futures\",\n actual = \"@crate_index__futures-0.3.32//:futures\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"human_bytes-0.4.3\",\n actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"human_bytes\",\n actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-0.5.0\",\n actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2\",\n actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-container-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-container-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-derive-macros-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-elementary-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-elementary-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-elementary-traits-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-lock-free-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-lock-free-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-memory-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-memory-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-posix-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-posix-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-system-types-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-system-types-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-testing-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-testing-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-threadsafe-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-cal-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-cal-qnx8\",\n actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-pal-concurrency-sync-qnx8\",\n actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-qnx8\",\n actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif-0.18.4\",\n actual = \"@crate_index__indicatif-0.18.4//:indicatif\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif\",\n actual = \"@crate_index__indicatif-0.18.4//:indicatif\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif-log-bridge-0.2.3\",\n actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif-log-bridge\",\n actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ipc-channel-0.20.2\",\n actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ipc-channel\",\n actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"libc-0.2.186\",\n actual = \"@crate_index__libc-0.2.186//:libc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"libc\",\n actual = \"@crate_index__libc-0.2.186//:libc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"log-0.4.29\",\n actual = \"@crate_index__log-0.4.29//:log\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"log\",\n actual = \"@crate_index__log-0.4.29//:log\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mio-1.2.0\",\n actual = \"@crate_index__mio-1.2.0//:mio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mio\",\n actual = \"@crate_index__mio-1.2.0//:mio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"nix-0.30.1\",\n actual = \"@crate_index__nix-0.30.1//:nix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"nix\",\n actual = \"@crate_index__nix-0.30.1//:nix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"paste-1.0.15\",\n actual = \"@crate_index__paste-1.0.15//:paste\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"paste\",\n actual = \"@crate_index__paste-1.0.15//:paste\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pico-args-0.5.0\",\n actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pico-args\",\n actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"postcard-1.1.3\",\n actual = \"@crate_index__postcard-1.1.3//:postcard\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"postcard\",\n actual = \"@crate_index__postcard-1.1.3//:postcard\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"proc-macro2-1.0.106\",\n actual = \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"proc-macro2\",\n actual = \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"prost-0.14.3\",\n actual = \"@crate_index__prost-0.14.3//:prost\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"prost\",\n actual = \"@crate_index__prost-0.14.3//:prost\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"prost-build-0.14.3\",\n actual = \"@crate_index__prost-build-0.14.3//:prost_build\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"prost-build\",\n actual = \"@crate_index__prost-build-0.14.3//:prost_build\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"prost-types-0.14.3\",\n actual = \"@crate_index__prost-types-0.14.3//:prost_types\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"prost-types\",\n actual = \"@crate_index__prost-types-0.14.3//:prost_types\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"protoc-gen-prost-0.4.0\",\n actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"protoc-gen-prost\",\n actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"protoc-gen-tonic-0.4.1\",\n actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"protoc-gen-tonic\",\n actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"quote-1.0.45\",\n actual = \"@crate_index__quote-1.0.45//:quote\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"quote\",\n actual = \"@crate_index__quote-1.0.45//:quote\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand-0.9.4\",\n actual = \"@crate_index__rand-0.9.4//:rand\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand\",\n actual = \"@crate_index__rand-0.9.4//:rand\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde-1.0.228\",\n actual = \"@crate_index__serde-1.0.228//:serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde\",\n actual = \"@crate_index__serde-1.0.228//:serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_json-1.0.149\",\n actual = \"@crate_index__serde_json-1.0.149//:serde_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_json\",\n actual = \"@crate_index__serde_json-1.0.149//:serde_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"signal-hook-0.3.18\",\n actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"signal-hook\",\n actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"socket2-0.6.3\",\n actual = \"@crate_index__socket2-0.6.3//:socket2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"socket2\",\n actual = \"@crate_index__socket2-0.6.3//:socket2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"syn-2.0.117\",\n actual = \"@crate_index__syn-2.0.117//:syn\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"syn\",\n actual = \"@crate_index__syn-2.0.117//:syn\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tempfile-3.27.0\",\n actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tempfile\",\n actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"time-0.3.47\",\n actual = \"@crate_index__time-0.3.47//:time\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"time\",\n actual = \"@crate_index__time-0.3.47//:time\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tinyjson-2.5.1\",\n actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tinyjson\",\n actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-1.52.1\",\n actual = \"@crate_index__tokio-1.52.1//:tokio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio\",\n actual = \"@crate_index__tokio-1.52.1//:tokio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-seqpacket-0.8.1\",\n actual = \"@crate_index__tokio-seqpacket-0.8.1//:tokio_seqpacket\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-seqpacket\",\n actual = \"@crate_index__tokio-seqpacket-0.8.1//:tokio_seqpacket\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-util-0.7.18\",\n actual = \"@crate_index__tokio-util-0.7.18//:tokio_util\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-util\",\n actual = \"@crate_index__tokio-util-0.7.18//:tokio_util\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tonic-0.14.5\",\n actual = \"@crate_index__tonic-0.14.5//:tonic\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tonic\",\n actual = \"@crate_index__tonic-0.14.5//:tonic\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tracing-0.1.44\",\n actual = \"@crate_index__tracing-0.1.44//:tracing\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tracing\",\n actual = \"@crate_index__tracing-0.1.44//:tracing\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tracing-subscriber-0.3.23\",\n actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tracing-subscriber\",\n actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n tags = [\"manual\"],\n)\n\n# Binaries\nalias(\n name = \"protoc-gen-prost__protoc-gen-prost\",\n actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc-gen-prost__bin\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"protoc-gen-tonic__protoc-gen-tonic\",\n actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc-gen-tonic__bin\",\n tags = [\"manual\"],\n)\n", + "BUILD.bazel": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\npackage(default_visibility = [\"//visibility:public\"])\n\nexports_files(\n [\n \"cargo-bazel.json\",\n \"crates.bzl\",\n \"defs.bzl\",\n ] + glob(\n allow_empty = True,\n include = [\"*.bazel\"],\n ),\n)\n\nfilegroup(\n name = \"srcs\",\n srcs = glob(\n allow_empty = True,\n include = [\n \"*.bazel\",\n \"*.bzl\",\n ],\n ),\n)\n\n# Workspace Member Dependencies\nalias(\n name = \"adler32-1.2.0\",\n actual = \"@crate_index__adler32-1.2.0//:adler32\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"adler32\",\n actual = \"@crate_index__adler32-1.2.0//:adler32\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anyhow-1.0.102\",\n actual = \"@crate_index__anyhow-1.0.102//:anyhow\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"anyhow\",\n actual = \"@crate_index__anyhow-1.0.102//:anyhow\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"argh-0.1.19\",\n actual = \"@crate_index__argh-0.1.19//:argh\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"argh\",\n actual = \"@crate_index__argh-0.1.19//:argh\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"arrayvec-0.7.6\",\n actual = \"@crate_index__arrayvec-0.7.6//:arrayvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"arrayvec\",\n actual = \"@crate_index__arrayvec-0.7.6//:arrayvec\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"async-stream-0.3.6\",\n actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"async-stream\",\n actual = \"@crate_index__async-stream-0.3.6//:async_stream\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bytes-1.11.1\",\n actual = \"@crate_index__bytes-1.11.1//:bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"bytes\",\n actual = \"@crate_index__bytes-1.11.1//:bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cc-1.2.61\",\n actual = \"@crate_index__cc-1.2.61//:cc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cc\",\n actual = \"@crate_index__cc-1.2.61//:cc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap-4.6.1\",\n actual = \"@crate_index__clap-4.6.1//:clap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"clap\",\n actual = \"@crate_index__clap-4.6.1//:clap\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cliclack-0.3.8\",\n actual = \"@crate_index__cliclack-0.3.8//:cliclack\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"cliclack\",\n actual = \"@crate_index__cliclack-0.3.8//:cliclack\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"console-0.16.3\",\n actual = \"@crate_index__console-0.16.3//:console\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"console\",\n actual = \"@crate_index__console-0.16.3//:console\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ctrlc-3.5.2\",\n actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ctrlc\",\n actual = \"@crate_index__ctrlc-3.5.2//:ctrlc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"env_logger-0.11.10\",\n actual = \"@crate_index__env_logger-0.11.10//:env_logger\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"env_logger\",\n actual = \"@crate_index__env_logger-0.11.10//:env_logger\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"futures-0.3.32\",\n actual = \"@crate_index__futures-0.3.32//:futures\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"futures\",\n actual = \"@crate_index__futures-0.3.32//:futures\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"human_bytes-0.4.3\",\n actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"human_bytes\",\n actual = \"@crate_index__human_bytes-0.4.3//:human_bytes\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-0.5.0\",\n actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2\",\n actual = \"@crate_index__iceoryx2-0.5.0//:iceoryx2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-container-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-container-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-derive-macros-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-elementary-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-elementary-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-elementary-traits-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-lock-free-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-lock-free-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-memory-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-memory-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-posix-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-posix-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-system-types-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-system-types-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-testing-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-testing-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-testing-qnx8-0.7.0//:iceoryx2_bb_testing_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-bb-threadsafe-qnx8\",\n actual = \"@crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0//:iceoryx2_bb_threadsafe_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-cal-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-cal-qnx8\",\n actual = \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-pal-concurrency-sync-qnx8\",\n actual = \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-qnx8-0.7.0\",\n actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"iceoryx2-qnx8\",\n actual = \"@crate_index__iceoryx2-qnx8-0.7.0//:iceoryx2_qnx8\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif-0.18.4\",\n actual = \"@crate_index__indicatif-0.18.4//:indicatif\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif\",\n actual = \"@crate_index__indicatif-0.18.4//:indicatif\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif-log-bridge-0.2.3\",\n actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"indicatif-log-bridge\",\n actual = \"@crate_index__indicatif-log-bridge-0.2.3//:indicatif_log_bridge\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ipc-channel-0.20.2\",\n actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"ipc-channel\",\n actual = \"@crate_index__ipc-channel-0.20.2//:ipc_channel\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"libc-0.2.186\",\n actual = \"@crate_index__libc-0.2.186//:libc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"libc\",\n actual = \"@crate_index__libc-0.2.186//:libc\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"log-0.4.29\",\n actual = \"@crate_index__log-0.4.29//:log\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"log\",\n actual = \"@crate_index__log-0.4.29//:log\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"loom-0.7.2\",\n actual = \"@crate_index__loom-0.7.2//:loom\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"loom\",\n actual = \"@crate_index__loom-0.7.2//:loom\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mio-1.2.0\",\n actual = \"@crate_index__mio-1.2.0//:mio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"mio\",\n actual = \"@crate_index__mio-1.2.0//:mio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"nix-0.30.1\",\n actual = \"@crate_index__nix-0.30.1//:nix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"nix\",\n actual = \"@crate_index__nix-0.30.1//:nix\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"paste-1.0.15\",\n actual = \"@crate_index__paste-1.0.15//:paste\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"paste\",\n actual = \"@crate_index__paste-1.0.15//:paste\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pico-args-0.5.0\",\n actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"pico-args\",\n actual = \"@crate_index__pico-args-0.5.0//:pico_args\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"postcard-1.1.3\",\n actual = \"@crate_index__postcard-1.1.3//:postcard\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"postcard\",\n actual = \"@crate_index__postcard-1.1.3//:postcard\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"proc-macro2-1.0.106\",\n actual = \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"proc-macro2\",\n actual = \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"prost-0.14.3\",\n actual = \"@crate_index__prost-0.14.3//:prost\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"prost\",\n actual = \"@crate_index__prost-0.14.3//:prost\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"prost-build-0.14.3\",\n actual = \"@crate_index__prost-build-0.14.3//:prost_build\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"prost-build\",\n actual = \"@crate_index__prost-build-0.14.3//:prost_build\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"prost-types-0.14.3\",\n actual = \"@crate_index__prost-types-0.14.3//:prost_types\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"prost-types\",\n actual = \"@crate_index__prost-types-0.14.3//:prost_types\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"protoc-gen-prost-0.4.0\",\n actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"protoc-gen-prost\",\n actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"protoc-gen-tonic-0.4.1\",\n actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"protoc-gen-tonic\",\n actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc_gen_tonic\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"quote-1.0.45\",\n actual = \"@crate_index__quote-1.0.45//:quote\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"quote\",\n actual = \"@crate_index__quote-1.0.45//:quote\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand-0.9.4\",\n actual = \"@crate_index__rand-0.9.4//:rand\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"rand\",\n actual = \"@crate_index__rand-0.9.4//:rand\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde-1.0.228\",\n actual = \"@crate_index__serde-1.0.228//:serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde\",\n actual = \"@crate_index__serde-1.0.228//:serde\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_json-1.0.149\",\n actual = \"@crate_index__serde_json-1.0.149//:serde_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"serde_json\",\n actual = \"@crate_index__serde_json-1.0.149//:serde_json\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"signal-hook-0.3.18\",\n actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"signal-hook\",\n actual = \"@crate_index__signal-hook-0.3.18//:signal_hook\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"socket2-0.6.3\",\n actual = \"@crate_index__socket2-0.6.3//:socket2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"socket2\",\n actual = \"@crate_index__socket2-0.6.3//:socket2\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"syn-2.0.117\",\n actual = \"@crate_index__syn-2.0.117//:syn\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"syn\",\n actual = \"@crate_index__syn-2.0.117//:syn\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tempfile-3.27.0\",\n actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tempfile\",\n actual = \"@crate_index__tempfile-3.27.0//:tempfile\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"thiserror-2.0.18\",\n actual = \"@crate_index__thiserror-2.0.18//:thiserror\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"thiserror\",\n actual = \"@crate_index__thiserror-2.0.18//:thiserror\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"time-0.3.47\",\n actual = \"@crate_index__time-0.3.47//:time\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"time\",\n actual = \"@crate_index__time-0.3.47//:time\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tinyjson-2.5.1\",\n actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tinyjson\",\n actual = \"@crate_index__tinyjson-2.5.1//:tinyjson\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-1.52.1\",\n actual = \"@crate_index__tokio-1.52.1//:tokio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio\",\n actual = \"@crate_index__tokio-1.52.1//:tokio\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-seqpacket-0.8.1\",\n actual = \"@crate_index__tokio-seqpacket-0.8.1//:tokio_seqpacket\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-seqpacket\",\n actual = \"@crate_index__tokio-seqpacket-0.8.1//:tokio_seqpacket\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-util-0.7.18\",\n actual = \"@crate_index__tokio-util-0.7.18//:tokio_util\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tokio-util\",\n actual = \"@crate_index__tokio-util-0.7.18//:tokio_util\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tonic-0.14.5\",\n actual = \"@crate_index__tonic-0.14.5//:tonic\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tonic\",\n actual = \"@crate_index__tonic-0.14.5//:tonic\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tracing-0.1.44\",\n actual = \"@crate_index__tracing-0.1.44//:tracing\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tracing\",\n actual = \"@crate_index__tracing-0.1.44//:tracing\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tracing-subscriber-0.3.23\",\n actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"tracing-subscriber\",\n actual = \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n tags = [\"manual\"],\n)\n\n# Binaries\nalias(\n name = \"protoc-gen-prost__protoc-gen-prost\",\n actual = \"@crate_index__protoc-gen-prost-0.4.0//:protoc-gen-prost__bin\",\n tags = [\"manual\"],\n)\n\nalias(\n name = \"protoc-gen-tonic__protoc-gen-tonic\",\n actual = \"@crate_index__protoc-gen-tonic-0.4.1//:protoc-gen-tonic__bin\",\n tags = [\"manual\"],\n)\n", "alias_rules.bzl": "\"\"\"Alias that transitions its target to `compilation_mode=opt`. Use `transition_alias=\"opt\"` to enable.\"\"\"\n\nload(\"@rules_cc//cc:defs.bzl\", \"CcInfo\")\nload(\"@rules_rust//rust:rust_common.bzl\", \"COMMON_PROVIDERS\")\n\ndef _transition_alias_impl(ctx):\n # `ctx.attr.actual` is a list of 1 item due to the transition\n providers = [ctx.attr.actual[0][provider] for provider in COMMON_PROVIDERS]\n if CcInfo in ctx.attr.actual[0]:\n providers.append(ctx.attr.actual[0][CcInfo])\n return providers\n\ndef _change_compilation_mode(compilation_mode):\n def _change_compilation_mode_impl(_settings, _attr):\n return {\n \"//command_line_option:compilation_mode\": compilation_mode,\n }\n\n return transition(\n implementation = _change_compilation_mode_impl,\n inputs = [],\n outputs = [\n \"//command_line_option:compilation_mode\",\n ],\n )\n\ndef _transition_alias_rule(compilation_mode):\n return rule(\n implementation = _transition_alias_impl,\n provides = COMMON_PROVIDERS,\n attrs = {\n \"actual\": attr.label(\n mandatory = True,\n doc = \"`rust_library()` target to transition to `compilation_mode=opt`.\",\n providers = COMMON_PROVIDERS,\n cfg = _change_compilation_mode(compilation_mode),\n ),\n \"_allowlist_function_transition\": attr.label(\n default = \"@bazel_tools//tools/allowlists/function_transition_allowlist\",\n ),\n },\n doc = \"Transitions a Rust library crate to the `compilation_mode=opt`.\",\n )\n\ntransition_alias_dbg = _transition_alias_rule(\"dbg\")\ntransition_alias_fastbuild = _transition_alias_rule(\"fastbuild\")\ntransition_alias_opt = _transition_alias_rule(\"opt\")\n", - "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n \"\"\"Flatten a list of dependency maps into one dictionary.\n\n Dependency maps have the following structure:\n\n ```python\n DEPENDENCIES_MAP = {\n # The first key in the map is a Bazel package\n # name of the workspace this file is defined in.\n \"workspace_member_package\": {\n\n # Not all dependencies are supported for all platforms.\n # the condition key is the condition required to be true\n # on the host platform.\n \"condition\": {\n\n # An alias to a crate target. # The label of the crate target the\n # Aliases are only crate names. # package name refers to.\n \"package_name\": \"@full//:label\",\n }\n }\n }\n ```\n\n Args:\n all_dependency_maps (list): A list of dicts as described above\n\n Returns:\n dict: A dictionary as described above\n \"\"\"\n dependencies = {}\n\n for workspace_deps_map in all_dependency_maps:\n for pkg_name, conditional_deps_map in workspace_deps_map.items():\n if pkg_name not in dependencies:\n non_frozen_map = dict()\n for key, values in conditional_deps_map.items():\n non_frozen_map.update({key: dict(values.items())})\n dependencies.setdefault(pkg_name, non_frozen_map)\n continue\n\n for condition, deps_map in conditional_deps_map.items():\n # If the condition has not been recorded, do so and continue\n if condition not in dependencies[pkg_name]:\n dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n continue\n\n # Alert on any miss-matched dependencies\n inconsistent_entries = []\n for crate_name, crate_label in deps_map.items():\n existing = dependencies[pkg_name][condition].get(crate_name)\n if existing and existing != crate_label:\n inconsistent_entries.append((crate_name, existing, crate_label))\n dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n return dependencies\n\ndef crate_deps(deps, package_name = None):\n \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n Args:\n deps (list): The desired list of crate targets.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()`.\n\n Returns:\n list: A list of labels to generated rust targets (str)\n \"\"\"\n\n if not deps:\n return []\n\n if package_name == None:\n package_name = native.package_name()\n\n # Join both sets of dependencies\n dependencies = _flatten_dependency_maps([\n _NORMAL_DEPENDENCIES,\n _NORMAL_DEV_DEPENDENCIES,\n _PROC_MACRO_DEPENDENCIES,\n _PROC_MACRO_DEV_DEPENDENCIES,\n _BUILD_DEPENDENCIES,\n _BUILD_PROC_MACRO_DEPENDENCIES,\n ]).pop(package_name, {})\n\n # Combine all conditional packages so we can easily index over a flat list\n # TODO: Perhaps this should actually return select statements and maintain\n # the conditionals of the dependencies\n flat_deps = {}\n for deps_set in dependencies.values():\n for crate_name, crate_label in deps_set.items():\n flat_deps.update({crate_name: crate_label})\n\n missing_crates = []\n crate_targets = []\n for crate_target in deps:\n if crate_target not in flat_deps:\n missing_crates.append(crate_target)\n else:\n crate_targets.append(flat_deps[crate_target])\n\n if missing_crates:\n fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n missing_crates,\n package_name,\n dependencies,\n ))\n\n return crate_targets\n\ndef all_crate_deps(\n normal = False, \n normal_dev = False, \n proc_macro = False, \n proc_macro_dev = False,\n build = False,\n build_proc_macro = False,\n package_name = None):\n \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n for the package where this macro is called.\n\n If no parameters are set, all normal dependencies are returned. Setting any one flag will\n otherwise impact the contents of the returned list.\n\n Args:\n normal (bool, optional): If True, normal dependencies are included in the\n output list.\n normal_dev (bool, optional): If True, normal dev dependencies will be\n included in the output list.\n proc_macro (bool, optional): If True, proc_macro dependencies are included\n in the output list.\n proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n included in the output list.\n build (bool, optional): If True, build dependencies are included\n in the output list.\n build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n included in the output list.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()` when unset.\n\n Returns:\n list: A list of labels to generated rust targets (str)\n \"\"\"\n\n if package_name == None:\n package_name = native.package_name()\n\n # Determine the relevant maps to use\n all_dependency_maps = []\n if normal:\n all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n if normal_dev:\n all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n if proc_macro:\n all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n if proc_macro_dev:\n all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n if build:\n all_dependency_maps.append(_BUILD_DEPENDENCIES)\n if build_proc_macro:\n all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n # Default to always using normal dependencies\n if not all_dependency_maps:\n all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n if not dependencies:\n if dependencies == None:\n fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n else:\n return []\n\n crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n for condition, deps in dependencies.items():\n crate_deps += selects.with_or({\n tuple(_CONDITIONS[condition]): deps.values(),\n \"//conditions:default\": [],\n })\n\n return crate_deps\n\ndef aliases(\n normal = False,\n normal_dev = False,\n proc_macro = False,\n proc_macro_dev = False,\n build = False,\n build_proc_macro = False,\n package_name = None):\n \"\"\"Produces a map of Crate alias names to their original label\n\n If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n Setting any one flag will otherwise determine the contents of the returned dict.\n\n Args:\n normal (bool, optional): If True, normal dependencies are included in the\n output list.\n normal_dev (bool, optional): If True, normal dev dependencies will be\n included in the output list..\n proc_macro (bool, optional): If True, proc_macro dependencies are included\n in the output list.\n proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n included in the output list.\n build (bool, optional): If True, build dependencies are included\n in the output list.\n build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n included in the output list.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()` when unset.\n\n Returns:\n dict: The aliases of all associated packages\n \"\"\"\n if package_name == None:\n package_name = native.package_name()\n\n # Determine the relevant maps to use\n all_aliases_maps = []\n if normal:\n all_aliases_maps.append(_NORMAL_ALIASES)\n if normal_dev:\n all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n if proc_macro:\n all_aliases_maps.append(_PROC_MACRO_ALIASES)\n if proc_macro_dev:\n all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n if build:\n all_aliases_maps.append(_BUILD_ALIASES)\n if build_proc_macro:\n all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n # Default to always using normal aliases\n if not all_aliases_maps:\n all_aliases_maps.append(_NORMAL_ALIASES)\n all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n if not aliases:\n return dict()\n\n common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n # If there are only common items in the dictionary, immediately return them\n if not len(aliases.keys()) == 1:\n return dict(common_items)\n\n # Build a single select statement where each conditional has accounted for the\n # common set of aliases.\n crate_aliases = {\"//conditions:default\": dict(common_items)}\n for condition, deps in aliases.items():\n condition_triples = _CONDITIONS[condition]\n for triple in condition_triples:\n if triple in crate_aliases:\n crate_aliases[triple].update(deps)\n else:\n crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n \"\": {\n _COMMON_CONDITION: {\n \"adler32\": Label(\"@crate_index//:adler32-1.2.0\"),\n \"anyhow\": Label(\"@crate_index//:anyhow-1.0.102\"),\n \"argh\": Label(\"@crate_index//:argh-0.1.19\"),\n \"arrayvec\": Label(\"@crate_index//:arrayvec-0.7.6\"),\n \"async-stream\": Label(\"@crate_index//:async-stream-0.3.6\"),\n \"bytes\": Label(\"@crate_index//:bytes-1.11.1\"),\n \"cc\": Label(\"@crate_index//:cc-1.2.61\"),\n \"clap\": Label(\"@crate_index//:clap-4.6.1\"),\n \"console\": Label(\"@crate_index//:console-0.16.3\"),\n \"ctrlc\": Label(\"@crate_index//:ctrlc-3.5.2\"),\n \"env_logger\": Label(\"@crate_index//:env_logger-0.11.10\"),\n \"futures\": Label(\"@crate_index//:futures-0.3.32\"),\n \"human_bytes\": Label(\"@crate_index//:human_bytes-0.4.3\"),\n \"iceoryx2\": Label(\"@crate_index//:iceoryx2-0.5.0\"),\n \"iceoryx2-bb-container-qnx8\": Label(\"@crate_index//:iceoryx2-bb-container-qnx8-0.7.0\"),\n \"iceoryx2-bb-elementary-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-qnx8-0.7.0\"),\n \"iceoryx2-bb-elementary-traits-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-traits-qnx8-0.7.0\"),\n \"iceoryx2-bb-lock-free-qnx8\": Label(\"@crate_index//:iceoryx2-bb-lock-free-qnx8-0.7.0\"),\n \"iceoryx2-bb-memory-qnx8\": Label(\"@crate_index//:iceoryx2-bb-memory-qnx8-0.7.0\"),\n \"iceoryx2-bb-posix-qnx8\": Label(\"@crate_index//:iceoryx2-bb-posix-qnx8-0.7.0\"),\n \"iceoryx2-bb-system-types-qnx8\": Label(\"@crate_index//:iceoryx2-bb-system-types-qnx8-0.7.0\"),\n \"iceoryx2-bb-testing-qnx8\": Label(\"@crate_index//:iceoryx2-bb-testing-qnx8-0.7.0\"),\n \"iceoryx2-bb-threadsafe-qnx8\": Label(\"@crate_index//:iceoryx2-bb-threadsafe-qnx8-0.7.0\"),\n \"iceoryx2-cal-qnx8\": Label(\"@crate_index//:iceoryx2-cal-qnx8-0.7.0\"),\n \"iceoryx2-pal-concurrency-sync-qnx8\": Label(\"@crate_index//:iceoryx2-pal-concurrency-sync-qnx8-0.7.0\"),\n \"iceoryx2-qnx8\": Label(\"@crate_index//:iceoryx2-qnx8-0.7.0\"),\n \"indicatif\": Label(\"@crate_index//:indicatif-0.18.4\"),\n \"indicatif-log-bridge\": Label(\"@crate_index//:indicatif-log-bridge-0.2.3\"),\n \"ipc-channel\": Label(\"@crate_index//:ipc-channel-0.20.2\"),\n \"libc\": Label(\"@crate_index//:libc-0.2.186\"),\n \"log\": Label(\"@crate_index//:log-0.4.29\"),\n \"mio\": Label(\"@crate_index//:mio-1.2.0\"),\n \"nix\": Label(\"@crate_index//:nix-0.30.1\"),\n \"pico-args\": Label(\"@crate_index//:pico-args-0.5.0\"),\n \"postcard\": Label(\"@crate_index//:postcard-1.1.3\"),\n \"proc-macro2\": Label(\"@crate_index//:proc-macro2-1.0.106\"),\n \"prost\": Label(\"@crate_index//:prost-0.14.3\"),\n \"prost-build\": Label(\"@crate_index//:prost-build-0.14.3\"),\n \"prost-types\": Label(\"@crate_index//:prost-types-0.14.3\"),\n \"protoc-gen-prost\": Label(\"@crate_index//:protoc-gen-prost-0.4.0\"),\n \"protoc-gen-tonic\": Label(\"@crate_index//:protoc-gen-tonic-0.4.1\"),\n \"quote\": Label(\"@crate_index//:quote-1.0.45\"),\n \"rand\": Label(\"@crate_index//:rand-0.9.4\"),\n \"serde\": Label(\"@crate_index//:serde-1.0.228\"),\n \"serde_json\": Label(\"@crate_index//:serde_json-1.0.149\"),\n \"signal-hook\": Label(\"@crate_index//:signal-hook-0.3.18\"),\n \"socket2\": Label(\"@crate_index//:socket2-0.6.3\"),\n \"syn\": Label(\"@crate_index//:syn-2.0.117\"),\n \"tempfile\": Label(\"@crate_index//:tempfile-3.27.0\"),\n \"time\": Label(\"@crate_index//:time-0.3.47\"),\n \"tinyjson\": Label(\"@crate_index//:tinyjson-2.5.1\"),\n \"tokio\": Label(\"@crate_index//:tokio-1.52.1\"),\n \"tokio-seqpacket\": Label(\"@crate_index//:tokio-seqpacket-0.8.1\"),\n \"tokio-util\": Label(\"@crate_index//:tokio-util-0.7.18\"),\n \"tonic\": Label(\"@crate_index//:tonic-0.14.5\"),\n \"tracing\": Label(\"@crate_index//:tracing-0.1.44\"),\n \"tracing-subscriber\": Label(\"@crate_index//:tracing-subscriber-0.3.23\"),\n },\n },\n}\n\n\n_NORMAL_ALIASES = {\n \"\": {\n _COMMON_CONDITION: {\n },\n },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n \"\": {\n },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n \"\": {\n },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n \"\": {\n _COMMON_CONDITION: {\n \"iceoryx2-bb-derive-macros-qnx8\": Label(\"@crate_index//:iceoryx2-bb-derive-macros-qnx8-0.7.0\"),\n \"paste\": Label(\"@crate_index//:paste-1.0.15\"),\n },\n },\n}\n\n\n_PROC_MACRO_ALIASES = {\n \"\": {\n },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n \"\": {\n },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n \"\": {\n },\n}\n\n\n_BUILD_DEPENDENCIES = {\n \"\": {\n },\n}\n\n\n_BUILD_ALIASES = {\n \"\": {\n },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n \"\": {\n },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n \"\": {\n },\n}\n\n\n_CONDITIONS = {\n \"aarch64-pc-windows-gnullvm\": [],\n \"aarch64-unknown-nto-qnx710\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\"],\n \"cfg(all(any(target_arch = \\\"x86_64\\\", target_arch = \\\"arm64ec\\\"), target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), not(any(all(target_os = \\\"linux\\\", target_env = \\\"\\\"), getrandom_backend = \\\"custom\\\", getrandom_backend = \\\"linux_raw\\\", getrandom_backend = \\\"rdrand\\\", getrandom_backend = \\\"rndr\\\"))))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p2\\\"))\": [],\n \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p3\\\"))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\"))\": [],\n \"cfg(all(target_os = \\\"uefi\\\", getrandom_backend = \\\"efi_rng\\\"))\": [],\n \"cfg(any())\": [],\n \"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"hurd\\\", target_os = \\\"illumos\\\", target_os = \\\"cygwin\\\", all(target_os = \\\"horizon\\\", target_arch = \\\"arm\\\")))\": [],\n \"cfg(any(target_os = \\\"haiku\\\", target_os = \\\"redox\\\", target_os = \\\"nto\\\", target_os = \\\"aix\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\"],\n \"cfg(any(target_os = \\\"ios\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\", target_os = \\\"tvos\\\"))\": [],\n \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"openbsd\\\", target_os = \\\"freebsd\\\", target_os = \\\"illumos\\\"))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"openbsd\\\", target_os = \\\"vita\\\", target_os = \\\"emscripten\\\"))\": [],\n \"cfg(any(unix, target_os = \\\"hermit\\\", target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(any(windows, unix, target_os = \\\"redox\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(not(target_has_atomic = \\\"ptr\\\"))\": [],\n \"cfg(target_arch = \\\"x86_64\\\")\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n \"cfg(target_os = \\\"hermit\\\")\": [],\n \"cfg(target_os = \\\"macos\\\")\": [],\n \"cfg(target_os = \\\"netbsd\\\")\": [],\n \"cfg(target_os = \\\"solaris\\\")\": [],\n \"cfg(target_os = \\\"vxworks\\\")\": [],\n \"cfg(target_os = \\\"wasi\\\")\": [],\n \"cfg(target_os = \\\"windows\\\")\": [],\n \"cfg(target_vendor = \\\"apple\\\")\": [],\n \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(windows)\": [],\n \"i686-pc-windows-gnu\": [],\n \"i686-pc-windows-gnullvm\": [],\n \"riscv32i-unknown-none-elf\": [],\n \"riscv32imc-unknown-none-elf\": [],\n \"x86_64-pc-windows-gnu\": [],\n \"x86_64-pc-windows-gnullvm\": [],\n \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"x86_64-unknown-none\": [\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n \"xtensa-esp32s2-none-elf\": [],\n}\n\n###############################################################################\n\ndef crate_repositories():\n \"\"\"A macro for defining repositories for all generated crates.\n\n Returns:\n A list of repos visible to the module through the module extension.\n \"\"\"\n maybe(\n http_archive,\n name = \"crate_index__adler32-1.2.0\",\n sha256 = \"aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/adler32/1.2.0/download\"],\n strip_prefix = \"adler32-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.adler32-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__aho-corasick-1.1.4\",\n sha256 = \"ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aho-corasick/1.1.4/download\"],\n strip_prefix = \"aho-corasick-1.1.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.aho-corasick-1.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__aliasable-0.1.3\",\n sha256 = \"250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aliasable/0.1.3/download\"],\n strip_prefix = \"aliasable-0.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.aliasable-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstream-1.0.0\",\n sha256 = \"824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstream/1.0.0/download\"],\n strip_prefix = \"anstream-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstream-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-1.0.14\",\n sha256 = \"940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle/1.0.14/download\"],\n strip_prefix = \"anstyle-1.0.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-1.0.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-parse-1.0.0\",\n sha256 = \"52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-parse/1.0.0/download\"],\n strip_prefix = \"anstyle-parse-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-parse-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-query-1.1.5\",\n sha256 = \"40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-query/1.1.5/download\"],\n strip_prefix = \"anstyle-query-1.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-query-1.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-wincon-3.0.11\",\n sha256 = \"291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.11/download\"],\n strip_prefix = \"anstyle-wincon-3.0.11\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-wincon-3.0.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anyhow-1.0.102\",\n sha256 = \"7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anyhow/1.0.102/download\"],\n strip_prefix = \"anyhow-1.0.102\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anyhow-1.0.102.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__argh-0.1.19\",\n sha256 = \"211818e820cda9ca6f167a64a5c808837366a6dfd807157c64c1304c486cd033\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/argh/0.1.19/download\"],\n strip_prefix = \"argh-0.1.19\",\n build_file = Label(\"@crate_index//crate_index:BUILD.argh-0.1.19.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__argh_derive-0.1.19\",\n sha256 = \"c442a9d18cef5dde467405d27d461d080d68972d6d0dfd0408265b6749ec427d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/argh_derive/0.1.19/download\"],\n strip_prefix = \"argh_derive-0.1.19\",\n build_file = Label(\"@crate_index//crate_index:BUILD.argh_derive-0.1.19.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__argh_shared-0.1.19\",\n sha256 = \"e5ade012bac4db278517a0132c8c10c6427025868dca16c801087c28d5a411f1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/argh_shared/0.1.19/download\"],\n strip_prefix = \"argh_shared-0.1.19\",\n build_file = Label(\"@crate_index//crate_index:BUILD.argh_shared-0.1.19.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__arrayvec-0.7.6\",\n sha256 = \"7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/arrayvec/0.7.6/download\"],\n strip_prefix = \"arrayvec-0.7.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.arrayvec-0.7.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__async-stream-0.3.6\",\n sha256 = \"0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-stream/0.3.6/download\"],\n strip_prefix = \"async-stream-0.3.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-0.3.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__async-stream-impl-0.3.6\",\n sha256 = \"c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-stream-impl/0.3.6/download\"],\n strip_prefix = \"async-stream-impl-0.3.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-impl-0.3.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__async-trait-0.1.89\",\n sha256 = \"9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-trait/0.1.89/download\"],\n strip_prefix = \"async-trait-0.1.89\",\n build_file = Label(\"@crate_index//crate_index:BUILD.async-trait-0.1.89.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__atomic-polyfill-1.0.3\",\n sha256 = \"8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atomic-polyfill/1.0.3/download\"],\n strip_prefix = \"atomic-polyfill-1.0.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.atomic-polyfill-1.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__atomic-waker-1.1.2\",\n sha256 = \"1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atomic-waker/1.1.2/download\"],\n strip_prefix = \"atomic-waker-1.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.atomic-waker-1.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__axum-0.8.9\",\n sha256 = \"31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/axum/0.8.9/download\"],\n strip_prefix = \"axum-0.8.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.axum-0.8.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__axum-core-0.5.6\",\n sha256 = \"08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/axum-core/0.5.6/download\"],\n strip_prefix = \"axum-core-0.5.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.axum-core-0.5.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__base64-0.22.1\",\n sha256 = \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64/0.22.1/download\"],\n strip_prefix = \"base64-0.22.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.base64-0.22.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bincode-1.3.3\",\n sha256 = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bincode/1.3.3/download\"],\n strip_prefix = \"bincode-1.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bincode-1.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bindgen-0.69.5\",\n sha256 = \"271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bindgen/0.69.5/download\"],\n strip_prefix = \"bindgen-0.69.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.69.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bindgen-0.72.1\",\n sha256 = \"993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bindgen/0.72.1/download\"],\n strip_prefix = \"bindgen-0.72.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.72.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bitflags-2.11.1\",\n sha256 = \"c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitflags/2.11.1/download\"],\n strip_prefix = \"bitflags-2.11.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-2.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__block2-0.6.2\",\n sha256 = \"cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/block2/0.6.2/download\"],\n strip_prefix = \"block2-0.6.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.block2-0.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bumpalo-3.20.2\",\n sha256 = \"5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bumpalo/3.20.2/download\"],\n strip_prefix = \"bumpalo-3.20.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bumpalo-3.20.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__byteorder-1.5.0\",\n sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n strip_prefix = \"byteorder-1.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.byteorder-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bytes-1.11.1\",\n sha256 = \"1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytes/1.11.1/download\"],\n strip_prefix = \"bytes-1.11.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bytes-1.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cc-1.2.61\",\n sha256 = \"d16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cc/1.2.61/download\"],\n strip_prefix = \"cc-1.2.61\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cc-1.2.61.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cdr-0.2.4\",\n sha256 = \"9617422bf43fde9280707a7e90f8f7494389c182f5c70b0f67592d0f06d41dfa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cdr/0.2.4/download\"],\n strip_prefix = \"cdr-0.2.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cdr-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cexpr-0.6.0\",\n sha256 = \"6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cexpr/0.6.0/download\"],\n strip_prefix = \"cexpr-0.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cexpr-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cfg-if-1.0.4\",\n sha256 = \"9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg-if/1.0.4/download\"],\n strip_prefix = \"cfg-if-1.0.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cfg-if-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cfg_aliases-0.2.1\",\n sha256 = \"613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg_aliases/0.2.1/download\"],\n strip_prefix = \"cfg_aliases-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cfg_aliases-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clang-sys-1.8.1\",\n sha256 = \"0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clang-sys/1.8.1/download\"],\n strip_prefix = \"clang-sys-1.8.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clang-sys-1.8.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap-4.6.1\",\n sha256 = \"1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap/4.6.1/download\"],\n strip_prefix = \"clap-4.6.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap-4.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_builder-4.6.0\",\n sha256 = \"714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_builder/4.6.0/download\"],\n strip_prefix = \"clap_builder-4.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_builder-4.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_derive-4.6.1\",\n sha256 = \"f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_derive/4.6.1/download\"],\n strip_prefix = \"clap_derive-4.6.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_derive-4.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_lex-1.1.0\",\n sha256 = \"c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_lex/1.1.0/download\"],\n strip_prefix = \"clap_lex-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_lex-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cobs-0.3.0\",\n sha256 = \"0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cobs/0.3.0/download\"],\n strip_prefix = \"cobs-0.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cobs-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__colorchoice-1.0.5\",\n sha256 = \"1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/colorchoice/1.0.5/download\"],\n strip_prefix = \"colorchoice-1.0.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.colorchoice-1.0.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__console-0.16.3\",\n sha256 = \"d64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/console/0.16.3/download\"],\n strip_prefix = \"console-0.16.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.console-0.16.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__critical-section-1.2.0\",\n sha256 = \"790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/critical-section/1.2.0/download\"],\n strip_prefix = \"critical-section-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.critical-section-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crossbeam-channel-0.5.15\",\n sha256 = \"82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crossbeam-channel/0.5.15/download\"],\n strip_prefix = \"crossbeam-channel-0.5.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-channel-0.5.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crossbeam-utils-0.8.21\",\n sha256 = \"d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crossbeam-utils/0.8.21/download\"],\n strip_prefix = \"crossbeam-utils-0.8.21\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-utils-0.8.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ctrlc-3.5.2\",\n sha256 = \"e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ctrlc/3.5.2/download\"],\n strip_prefix = \"ctrlc-3.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ctrlc-3.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__deranged-0.5.8\",\n sha256 = \"7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/deranged/0.5.8/download\"],\n strip_prefix = \"deranged-0.5.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.deranged-0.5.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__dispatch2-0.3.1\",\n sha256 = \"1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dispatch2/0.3.1/download\"],\n strip_prefix = \"dispatch2-0.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.dispatch2-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__either-1.15.0\",\n sha256 = \"48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/either/1.15.0/download\"],\n strip_prefix = \"either-1.15.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.either-1.15.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__embedded-io-0.4.0\",\n sha256 = \"ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/embedded-io/0.4.0/download\"],\n strip_prefix = \"embedded-io-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__embedded-io-0.6.1\",\n sha256 = \"edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/embedded-io/0.6.1/download\"],\n strip_prefix = \"embedded-io-0.6.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__encode_unicode-1.0.0\",\n sha256 = \"34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/encode_unicode/1.0.0/download\"],\n strip_prefix = \"encode_unicode-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.encode_unicode-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__enum-iterator-2.3.0\",\n sha256 = \"a4549325971814bda7a44061bf3fe7e487d447cba01e4220a4b454d630d7a016\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/enum-iterator/2.3.0/download\"],\n strip_prefix = \"enum-iterator-2.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__enum-iterator-derive-1.5.0\",\n sha256 = \"685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/enum-iterator-derive/1.5.0/download\"],\n strip_prefix = \"enum-iterator-derive-1.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-derive-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__env_filter-1.0.1\",\n sha256 = \"32e90c2accc4b07a8456ea0debdc2e7587bdd890680d71173a15d4ae604f6eef\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/env_filter/1.0.1/download\"],\n strip_prefix = \"env_filter-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.env_filter-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__env_logger-0.11.10\",\n sha256 = \"0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/env_logger/0.11.10/download\"],\n strip_prefix = \"env_logger-0.11.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.env_logger-0.11.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__equivalent-1.0.2\",\n sha256 = \"877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/equivalent/1.0.2/download\"],\n strip_prefix = \"equivalent-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.equivalent-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__errno-0.3.14\",\n sha256 = \"39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/errno/0.3.14/download\"],\n strip_prefix = \"errno-0.3.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.errno-0.3.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__fastrand-2.4.1\",\n sha256 = \"9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fastrand/2.4.1/download\"],\n strip_prefix = \"fastrand-2.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.fastrand-2.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__filedesc-0.6.3\",\n sha256 = \"c4960c866d9cf4c48f64f11ef0020c98900d0cb32e9b019c000ed838470daa1d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/filedesc/0.6.3/download\"],\n strip_prefix = \"filedesc-0.6.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.filedesc-0.6.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__find-msvc-tools-0.1.9\",\n sha256 = \"5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/find-msvc-tools/0.1.9/download\"],\n strip_prefix = \"find-msvc-tools-0.1.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.find-msvc-tools-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__fixedbitset-0.5.7\",\n sha256 = \"1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fixedbitset/0.5.7/download\"],\n strip_prefix = \"fixedbitset-0.5.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.fixedbitset-0.5.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__fnv-1.0.7\",\n sha256 = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fnv/1.0.7/download\"],\n strip_prefix = \"fnv-1.0.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.fnv-1.0.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__foldhash-0.1.5\",\n sha256 = \"d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foldhash/0.1.5/download\"],\n strip_prefix = \"foldhash-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-0.3.32\",\n sha256 = \"8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures/0.3.32/download\"],\n strip_prefix = \"futures-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-channel-0.3.32\",\n sha256 = \"07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-channel/0.3.32/download\"],\n strip_prefix = \"futures-channel-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-channel-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-core-0.3.32\",\n sha256 = \"7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-core/0.3.32/download\"],\n strip_prefix = \"futures-core-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-core-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-executor-0.3.32\",\n sha256 = \"baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-executor/0.3.32/download\"],\n strip_prefix = \"futures-executor-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-executor-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-io-0.3.32\",\n sha256 = \"cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-io/0.3.32/download\"],\n strip_prefix = \"futures-io-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-io-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-macro-0.3.32\",\n sha256 = \"e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-macro/0.3.32/download\"],\n strip_prefix = \"futures-macro-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-macro-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-sink-0.3.32\",\n sha256 = \"c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-sink/0.3.32/download\"],\n strip_prefix = \"futures-sink-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-sink-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-task-0.3.32\",\n sha256 = \"037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-task/0.3.32/download\"],\n strip_prefix = \"futures-task-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-task-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-util-0.3.32\",\n sha256 = \"389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-util/0.3.32/download\"],\n strip_prefix = \"futures-util-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-util-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__getrandom-0.3.4\",\n sha256 = \"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/getrandom/0.3.4/download\"],\n strip_prefix = \"getrandom-0.3.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__getrandom-0.4.2\",\n sha256 = \"0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/getrandom/0.4.2/download\"],\n strip_prefix = \"getrandom-0.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__glob-0.3.3\",\n sha256 = \"0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/glob/0.3.3/download\"],\n strip_prefix = \"glob-0.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.glob-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__h2-0.4.13\",\n sha256 = \"2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/h2/0.4.13/download\"],\n strip_prefix = \"h2-0.4.13\",\n build_file = Label(\"@crate_index//crate_index:BUILD.h2-0.4.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hash32-0.2.1\",\n sha256 = \"b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hash32/0.2.1/download\"],\n strip_prefix = \"hash32-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hash32-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hashbrown-0.15.5\",\n sha256 = \"9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.15.5/download\"],\n strip_prefix = \"hashbrown-0.15.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.15.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hashbrown-0.17.0\",\n sha256 = \"4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.17.0/download\"],\n strip_prefix = \"hashbrown-0.17.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.17.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__heapless-0.7.17\",\n sha256 = \"cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/heapless/0.7.17/download\"],\n strip_prefix = \"heapless-0.7.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.heapless-0.7.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__heck-0.4.1\",\n sha256 = \"95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/heck/0.4.1/download\"],\n strip_prefix = \"heck-0.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__heck-0.5.0\",\n sha256 = \"2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/heck/0.5.0/download\"],\n strip_prefix = \"heck-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__home-0.5.12\",\n sha256 = \"cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/home/0.5.12/download\"],\n strip_prefix = \"home-0.5.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.home-0.5.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__http-1.4.0\",\n sha256 = \"e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/http/1.4.0/download\"],\n strip_prefix = \"http-1.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.http-1.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__http-body-1.0.1\",\n sha256 = \"1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/http-body/1.0.1/download\"],\n strip_prefix = \"http-body-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.http-body-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__http-body-util-0.1.3\",\n sha256 = \"b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/http-body-util/0.1.3/download\"],\n strip_prefix = \"http-body-util-0.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.http-body-util-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__httparse-1.10.1\",\n sha256 = \"6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/httparse/1.10.1/download\"],\n strip_prefix = \"httparse-1.10.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.httparse-1.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__httpdate-1.0.3\",\n sha256 = \"df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/httpdate/1.0.3/download\"],\n strip_prefix = \"httpdate-1.0.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.httpdate-1.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__human_bytes-0.4.3\",\n sha256 = \"91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/human_bytes/0.4.3/download\"],\n strip_prefix = \"human_bytes-0.4.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.human_bytes-0.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-1.9.0\",\n sha256 = \"6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper/1.9.0/download\"],\n strip_prefix = \"hyper-1.9.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-1.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-timeout-0.5.2\",\n sha256 = \"2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper-timeout/0.5.2/download\"],\n strip_prefix = \"hyper-timeout-0.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-timeout-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-util-0.1.20\",\n sha256 = \"96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper-util/0.1.20/download\"],\n strip_prefix = \"hyper-util-0.1.20\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-util-0.1.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-0.5.0\",\n sha256 = \"12c091b5786a230240f8f2691b9d29508ed0a02c025c254abaed8bc788a66bb3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2/0.5.0/download\"],\n strip_prefix = \"iceoryx2-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-container-0.5.0\",\n sha256 = \"fff9d75921f8ccd3e19261d72082b52ccc4704dcdd6930efe6c17b15693ab519\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-container/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-container-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-container-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/container\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-derive-macros-0.5.0\",\n sha256 = \"9257482fb822946bb3028225b6807350e3f815068961ff5bf683735ce01d59a4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-derive-macros/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-derive-macros-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n patches = [\n \"@@score_crates+//patches:iceoryx2_bb_derive_macros_readme.patch\",\n ],\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/derive-macros\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-elementary-0.5.0\",\n sha256 = \"38aae0237ff1575a7d9672c0202e5d313e7f674a635f6aaf619d2090fb7a12c2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-elementary/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-elementary-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/elementary\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-traits-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/elementary-traits\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-linux-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-linux-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/linux\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-lock-free-0.5.0\",\n sha256 = \"3ec3227a0c8b1d9e1ea4c61fa6a773e7c3b721fa3e2fd4363324f302b35ac85b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-lock-free/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-lock-free-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/lock-free\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-log-0.5.0\",\n sha256 = \"07df5e6ff06cc2ffb0a86b67c7cd4be86b11264d5e83c02a52b384e2d5e6363a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-log/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-log-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-log-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/log\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-memory-0.5.0\",\n sha256 = \"55a4ae8856404b6e7eca567004673ca39109fc70fcf387b96ca6d6d27c61f31b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-memory/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-memory-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/memory\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-posix-0.5.0\",\n sha256 = \"122ff88c452a3045a9de6db73d0429da736578f76eab75779dd0d3681de75d57\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-posix/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-posix-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/posix\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-system-types-0.5.0\",\n sha256 = \"ac2fb11a94823c3b9117a5e14edf16fd467794cf5391738eb2d8b7fc8e9b04fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-system-types/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-system-types-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/system-types\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-testing-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/testing\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-threadsafe-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/threadsafe\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-cal-0.5.0\",\n sha256 = \"6c64b8eee1d57c4336d7df7d521671d8b76c72cac16af0db651e40f8c45f0946\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-cal/0.5.0/download\"],\n strip_prefix = \"iceoryx2-cal-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-cal-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-cal\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-pal-concurrency-sync-0.5.0\",\n sha256 = \"92dc4ec7c023819c41b5a14c9ca58e8dbb86476053321decda73ac440996f35f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-pal-concurrency-sync/0.5.0/download\"],\n strip_prefix = \"iceoryx2-pal-concurrency-sync-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-pal/concurrency-sync\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-pal-configuration-0.5.0\",\n sha256 = \"d900aa8f9c5b661a9c5ddfbdc28eb87ac8c32be5375ca9b055b087d1c89c984d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-pal-configuration/0.5.0/download\"],\n strip_prefix = \"iceoryx2-pal-configuration-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-pal-configuration-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-pal/configuration\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-pal-os-api-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-os-api-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-pal/os-api\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-pal-posix-0.5.0\",\n sha256 = \"5789169791a6274b492561b95543e1c635285cb454d547f78e53cbc1acd9b3f5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-pal-posix/0.5.0/download\"],\n strip_prefix = \"iceoryx2-pal-posix-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-pal-posix-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n patches = [\n \"@@score_crates+//patches:qnx8_iceoryx2.patch\",\n ],\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-pal/posix\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-pal-testing-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-testing-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-pal/testing\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-qnx8-0.7.0\",\n commit = \"bd16da32190d53d69c3e5504aab47df52ca8b5f8\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__id-arena-2.3.0\",\n sha256 = \"3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/id-arena/2.3.0/download\"],\n strip_prefix = \"id-arena-2.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.id-arena-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indexmap-2.14.0\",\n sha256 = \"d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indexmap/2.14.0/download\"],\n strip_prefix = \"indexmap-2.14.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indexmap-2.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indicatif-0.18.4\",\n sha256 = \"25470f23803092da7d239834776d653104d551bc4d7eacaf31e6837854b8e9eb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indicatif/0.18.4/download\"],\n strip_prefix = \"indicatif-0.18.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-0.18.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indicatif-log-bridge-0.2.3\",\n sha256 = \"63703cf9069b85dbe6fe26e1c5230d013dee99d3559cd3d02ba39e099ef7ab02\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indicatif-log-bridge/0.2.3/download\"],\n strip_prefix = \"indicatif-log-bridge-0.2.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-log-bridge-0.2.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ipc-channel-0.20.2\",\n sha256 = \"f93600b5616c2d075f8af8dbd23c1d69278c5d24e4913d220cbc60b14c95c180\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ipc-channel/0.20.2/download\"],\n strip_prefix = \"ipc-channel-0.20.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ipc-channel-0.20.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__is_terminal_polyfill-1.70.2\",\n sha256 = \"a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download\"],\n strip_prefix = \"is_terminal_polyfill-1.70.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.is_terminal_polyfill-1.70.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__itertools-0.12.1\",\n sha256 = \"ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itertools/0.12.1/download\"],\n strip_prefix = \"itertools-0.12.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__itertools-0.13.0\",\n sha256 = \"413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itertools/0.13.0/download\"],\n strip_prefix = \"itertools-0.13.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__itertools-0.14.0\",\n sha256 = \"2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itertools/0.14.0/download\"],\n strip_prefix = \"itertools-0.14.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__itoa-1.0.18\",\n sha256 = \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itoa/1.0.18/download\"],\n strip_prefix = \"itoa-1.0.18\",\n build_file = Label(\"@crate_index//crate_index:BUILD.itoa-1.0.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__jiff-0.2.24\",\n sha256 = \"f00b5dbd620d61dfdcb6007c9c1f6054ebd75319f163d886a9055cec1155073d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff/0.2.24/download\"],\n strip_prefix = \"jiff-0.2.24\",\n build_file = Label(\"@crate_index//crate_index:BUILD.jiff-0.2.24.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__jiff-static-0.2.24\",\n sha256 = \"e000de030ff8022ea1da3f466fbb0f3a809f5e51ed31f6dd931c35181ad8e6d7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff-static/0.2.24/download\"],\n strip_prefix = \"jiff-static-0.2.24\",\n build_file = Label(\"@crate_index//crate_index:BUILD.jiff-static-0.2.24.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__js-sys-0.3.95\",\n sha256 = \"2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/js-sys/0.3.95/download\"],\n strip_prefix = \"js-sys-0.3.95\",\n build_file = Label(\"@crate_index//crate_index:BUILD.js-sys-0.3.95.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__lazy_static-1.5.0\",\n sha256 = \"bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lazy_static/1.5.0/download\"],\n strip_prefix = \"lazy_static-1.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.lazy_static-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__lazycell-1.3.0\",\n sha256 = \"830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lazycell/1.3.0/download\"],\n strip_prefix = \"lazycell-1.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.lazycell-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__leb128fmt-0.1.0\",\n sha256 = \"09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/leb128fmt/0.1.0/download\"],\n strip_prefix = \"leb128fmt-0.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.leb128fmt-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libc-0.2.186\",\n sha256 = \"68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libc/0.2.186/download\"],\n strip_prefix = \"libc-0.2.186\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libc-0.2.186.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libloading-0.8.9\",\n sha256 = \"d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libloading/0.8.9/download\"],\n strip_prefix = \"libloading-0.8.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libloading-0.8.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__linux-raw-sys-0.12.1\",\n sha256 = \"32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linux-raw-sys/0.12.1/download\"],\n strip_prefix = \"linux-raw-sys-0.12.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__linux-raw-sys-0.4.15\",\n sha256 = \"d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linux-raw-sys/0.4.15/download\"],\n strip_prefix = \"linux-raw-sys-0.4.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.4.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__lock_api-0.4.14\",\n sha256 = \"224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lock_api/0.4.14/download\"],\n strip_prefix = \"lock_api-0.4.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.lock_api-0.4.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__log-0.4.29\",\n sha256 = \"5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/log/0.4.29/download\"],\n strip_prefix = \"log-0.4.29\",\n build_file = Label(\"@crate_index//crate_index:BUILD.log-0.4.29.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__matchit-0.8.4\",\n sha256 = \"47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/matchit/0.8.4/download\"],\n strip_prefix = \"matchit-0.8.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.matchit-0.8.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__memchr-2.8.0\",\n sha256 = \"f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memchr/2.8.0/download\"],\n strip_prefix = \"memchr-2.8.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.memchr-2.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mime-0.3.17\",\n sha256 = \"6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mime/0.3.17/download\"],\n strip_prefix = \"mime-0.3.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mime-0.3.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__minimal-lexical-0.2.1\",\n sha256 = \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/minimal-lexical/0.2.1/download\"],\n strip_prefix = \"minimal-lexical-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.minimal-lexical-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mio-1.2.0\",\n sha256 = \"50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mio/1.2.0/download\"],\n strip_prefix = \"mio-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mio-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__multimap-0.10.1\",\n sha256 = \"1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/multimap/0.10.1/download\"],\n strip_prefix = \"multimap-0.10.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.multimap-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nix-0.30.1\",\n sha256 = \"74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.30.1/download\"],\n strip_prefix = \"nix-0.30.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.30.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nix-0.31.2\",\n sha256 = \"5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.31.2/download\"],\n strip_prefix = \"nix-0.31.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.31.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nom-7.1.3\",\n sha256 = \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nom/7.1.3/download\"],\n strip_prefix = \"nom-7.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nom-7.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nu-ansi-term-0.50.3\",\n sha256 = \"7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nu-ansi-term/0.50.3/download\"],\n strip_prefix = \"nu-ansi-term-0.50.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nu-ansi-term-0.50.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-conv-0.2.1\",\n sha256 = \"c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-conv/0.2.1/download\"],\n strip_prefix = \"num-conv-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-conv-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__objc2-0.6.4\",\n sha256 = \"3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2/0.6.4/download\"],\n strip_prefix = \"objc2-0.6.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.objc2-0.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__objc2-encode-4.1.0\",\n sha256 = \"ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-encode/4.1.0/download\"],\n strip_prefix = \"objc2-encode-4.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.objc2-encode-4.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__once_cell-1.21.4\",\n sha256 = \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/once_cell/1.21.4/download\"],\n strip_prefix = \"once_cell-1.21.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.once_cell-1.21.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__once_cell_polyfill-1.70.2\",\n sha256 = \"384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/once_cell_polyfill/1.70.2/download\"],\n strip_prefix = \"once_cell_polyfill-1.70.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.once_cell_polyfill-1.70.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ouroboros-0.18.5\",\n sha256 = \"1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ouroboros/0.18.5/download\"],\n strip_prefix = \"ouroboros-0.18.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros-0.18.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ouroboros_macro-0.18.5\",\n sha256 = \"3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ouroboros_macro/0.18.5/download\"],\n strip_prefix = \"ouroboros_macro-0.18.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros_macro-0.18.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__paste-1.0.15\",\n sha256 = \"57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/paste/1.0.15/download\"],\n strip_prefix = \"paste-1.0.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.paste-1.0.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__percent-encoding-2.3.2\",\n sha256 = \"9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/percent-encoding/2.3.2/download\"],\n strip_prefix = \"percent-encoding-2.3.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.percent-encoding-2.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__petgraph-0.7.1\",\n sha256 = \"3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/petgraph/0.7.1/download\"],\n strip_prefix = \"petgraph-0.7.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__petgraph-0.8.3\",\n sha256 = \"8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/petgraph/0.8.3/download\"],\n strip_prefix = \"petgraph-0.8.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pico-args-0.5.0\",\n sha256 = \"5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pico-args/0.5.0/download\"],\n strip_prefix = \"pico-args-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pico-args-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pin-project-1.1.11\",\n sha256 = \"f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-project/1.1.11/download\"],\n strip_prefix = \"pin-project-1.1.11\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-1.1.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pin-project-internal-1.1.11\",\n sha256 = \"d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-project-internal/1.1.11/download\"],\n strip_prefix = \"pin-project-internal-1.1.11\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-internal-1.1.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pin-project-lite-0.2.17\",\n sha256 = \"a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-project-lite/0.2.17/download\"],\n strip_prefix = \"pin-project-lite-0.2.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-lite-0.2.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__portable-atomic-1.13.1\",\n sha256 = \"c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/portable-atomic/1.13.1/download\"],\n strip_prefix = \"portable-atomic-1.13.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-1.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__portable-atomic-util-0.2.7\",\n sha256 = \"c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/portable-atomic-util/0.2.7/download\"],\n strip_prefix = \"portable-atomic-util-0.2.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-util-0.2.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__postcard-1.1.3\",\n sha256 = \"6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/postcard/1.1.3/download\"],\n strip_prefix = \"postcard-1.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.postcard-1.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__postcard-derive-0.2.2\",\n sha256 = \"e0232bd009a197ceec9cc881ba46f727fcd8060a2d8d6a9dde7a69030a6fe2bb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/postcard-derive/0.2.2/download\"],\n strip_prefix = \"postcard-derive-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.postcard-derive-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__powerfmt-0.2.0\",\n sha256 = \"439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/powerfmt/0.2.0/download\"],\n strip_prefix = \"powerfmt-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.powerfmt-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ppv-lite86-0.2.21\",\n sha256 = \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.21/download\"],\n strip_prefix = \"ppv-lite86-0.2.21\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ppv-lite86-0.2.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prettyplease-0.2.37\",\n sha256 = \"479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prettyplease/0.2.37/download\"],\n strip_prefix = \"prettyplease-0.2.37\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prettyplease-0.2.37.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__proc-macro2-1.0.106\",\n sha256 = \"8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/proc-macro2/1.0.106/download\"],\n strip_prefix = \"proc-macro2-1.0.106\",\n build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-1.0.106.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__proc-macro2-diagnostics-0.10.1\",\n sha256 = \"af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/proc-macro2-diagnostics/0.10.1/download\"],\n strip_prefix = \"proc-macro2-diagnostics-0.10.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-diagnostics-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-0.13.5\",\n sha256 = \"2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost/0.13.5/download\"],\n strip_prefix = \"prost-0.13.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.13.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-0.14.3\",\n sha256 = \"d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost/0.14.3/download\"],\n strip_prefix = \"prost-0.14.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.14.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-build-0.13.5\",\n sha256 = \"be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost-build/0.13.5/download\"],\n strip_prefix = \"prost-build-0.13.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.13.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-build-0.14.3\",\n sha256 = \"343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost-build/0.14.3/download\"],\n strip_prefix = \"prost-build-0.14.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.14.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-derive-0.13.5\",\n sha256 = \"8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost-derive/0.13.5/download\"],\n strip_prefix = \"prost-derive-0.13.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.13.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-derive-0.14.3\",\n sha256 = \"27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost-derive/0.14.3/download\"],\n strip_prefix = \"prost-derive-0.14.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.14.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-types-0.13.5\",\n sha256 = \"52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost-types/0.13.5/download\"],\n strip_prefix = \"prost-types-0.13.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.13.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-types-0.14.3\",\n sha256 = \"8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost-types/0.14.3/download\"],\n strip_prefix = \"prost-types-0.14.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.14.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__protoc-gen-prost-0.4.0\",\n sha256 = \"77eb17a7657a703f30cb9b7ba4d981e4037b8af2d819ab0077514b0bef537406\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/protoc-gen-prost/0.4.0/download\"],\n strip_prefix = \"protoc-gen-prost-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-prost-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__protoc-gen-tonic-0.4.1\",\n sha256 = \"6ab6a0d73a0914752ed8fd7cc51afe169e28da87be3efef292de5676cc527634\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/protoc-gen-tonic/0.4.1/download\"],\n strip_prefix = \"protoc-gen-tonic-0.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-tonic-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__quote-1.0.45\",\n sha256 = \"41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/quote/1.0.45/download\"],\n strip_prefix = \"quote-1.0.45\",\n build_file = Label(\"@crate_index//crate_index:BUILD.quote-1.0.45.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__r-efi-5.3.0\",\n sha256 = \"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/r-efi/5.3.0/download\"],\n strip_prefix = \"r-efi-5.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-5.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__r-efi-6.0.0\",\n sha256 = \"f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/r-efi/6.0.0/download\"],\n strip_prefix = \"r-efi-6.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-6.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand-0.9.4\",\n sha256 = \"44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.9.4/download\"],\n strip_prefix = \"rand-0.9.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand_chacha-0.9.0\",\n sha256 = \"d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_chacha/0.9.0/download\"],\n strip_prefix = \"rand_chacha-0.9.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand_chacha-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand_core-0.9.5\",\n sha256 = \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.9.5/download\"],\n strip_prefix = \"rand_core-0.9.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.9.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__regex-1.12.3\",\n sha256 = \"e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex/1.12.3/download\"],\n strip_prefix = \"regex-1.12.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.regex-1.12.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__regex-automata-0.4.14\",\n sha256 = \"6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-automata/0.4.14/download\"],\n strip_prefix = \"regex-automata-0.4.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.regex-automata-0.4.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__regex-syntax-0.8.10\",\n sha256 = \"dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-syntax/0.8.10/download\"],\n strip_prefix = \"regex-syntax-0.8.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.regex-syntax-0.8.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustc-hash-1.1.0\",\n sha256 = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc-hash/1.1.0/download\"],\n strip_prefix = \"rustc-hash-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustc-hash-2.1.2\",\n sha256 = \"94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc-hash/2.1.2/download\"],\n strip_prefix = \"rustc-hash-2.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-2.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustc_version-0.4.1\",\n sha256 = \"cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc_version/0.4.1/download\"],\n strip_prefix = \"rustc_version-0.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustc_version-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustix-0.38.44\",\n sha256 = \"fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustix/0.38.44/download\"],\n strip_prefix = \"rustix-0.38.44\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustix-0.38.44.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustix-1.1.4\",\n sha256 = \"b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustix/1.1.4/download\"],\n strip_prefix = \"rustix-1.1.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustix-1.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustversion-1.0.22\",\n sha256 = \"b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustversion/1.0.22/download\"],\n strip_prefix = \"rustversion-1.0.22\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustversion-1.0.22.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__scopeguard-1.2.0\",\n sha256 = \"94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/scopeguard/1.2.0/download\"],\n strip_prefix = \"scopeguard-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.scopeguard-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__semver-1.0.28\",\n sha256 = \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/semver/1.0.28/download\"],\n strip_prefix = \"semver-1.0.28\",\n build_file = Label(\"@crate_index//crate_index:BUILD.semver-1.0.28.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde-1.0.228\",\n sha256 = \"9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde/1.0.228/download\"],\n strip_prefix = \"serde-1.0.228\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde-1.0.228.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_core-1.0.228\",\n sha256 = \"41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_core/1.0.228/download\"],\n strip_prefix = \"serde_core-1.0.228\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_core-1.0.228.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_derive-1.0.228\",\n sha256 = \"d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_derive/1.0.228/download\"],\n strip_prefix = \"serde_derive-1.0.228\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_derive-1.0.228.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_json-1.0.149\",\n sha256 = \"83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_json/1.0.149/download\"],\n strip_prefix = \"serde_json-1.0.149\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_json-1.0.149.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_spanned-0.6.9\",\n sha256 = \"bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_spanned/0.6.9/download\"],\n strip_prefix = \"serde_spanned-0.6.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_spanned-0.6.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sha1_smol-1.0.1\",\n sha256 = \"bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sha1_smol/1.0.1/download\"],\n strip_prefix = \"sha1_smol-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sha1_smol-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sharded-slab-0.1.7\",\n sha256 = \"f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sharded-slab/0.1.7/download\"],\n strip_prefix = \"sharded-slab-0.1.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sharded-slab-0.1.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__shlex-1.3.0\",\n sha256 = \"0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shlex/1.3.0/download\"],\n strip_prefix = \"shlex-1.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.shlex-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__signal-hook-0.3.18\",\n sha256 = \"d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/signal-hook/0.3.18/download\"],\n strip_prefix = \"signal-hook-0.3.18\",\n build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-0.3.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__signal-hook-registry-1.4.8\",\n sha256 = \"c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/signal-hook-registry/1.4.8/download\"],\n strip_prefix = \"signal-hook-registry-1.4.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-registry-1.4.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__slab-0.4.12\",\n sha256 = \"0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/slab/0.4.12/download\"],\n strip_prefix = \"slab-0.4.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.slab-0.4.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__smallvec-1.15.1\",\n sha256 = \"67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/smallvec/1.15.1/download\"],\n strip_prefix = \"smallvec-1.15.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.smallvec-1.15.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__socket2-0.6.3\",\n sha256 = \"3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/socket2/0.6.3/download\"],\n strip_prefix = \"socket2-0.6.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.socket2-0.6.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__spin-0.9.8\",\n sha256 = \"6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spin/0.9.8/download\"],\n strip_prefix = \"spin-0.9.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.spin-0.9.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__stable_deref_trait-1.2.1\",\n sha256 = \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/stable_deref_trait/1.2.1/download\"],\n strip_prefix = \"stable_deref_trait-1.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.stable_deref_trait-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__static_assertions-1.1.0\",\n sha256 = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/static_assertions/1.1.0/download\"],\n strip_prefix = \"static_assertions-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.static_assertions-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__strsim-0.11.1\",\n sha256 = \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strsim/0.11.1/download\"],\n strip_prefix = \"strsim-0.11.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.strsim-0.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__syn-2.0.117\",\n sha256 = \"e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/syn/2.0.117/download\"],\n strip_prefix = \"syn-2.0.117\",\n build_file = Label(\"@crate_index//crate_index:BUILD.syn-2.0.117.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sync_wrapper-1.0.2\",\n sha256 = \"0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sync_wrapper/1.0.2/download\"],\n strip_prefix = \"sync_wrapper-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sync_wrapper-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tempfile-3.27.0\",\n sha256 = \"32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tempfile/3.27.0/download\"],\n strip_prefix = \"tempfile-3.27.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tempfile-3.27.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__termsize-0.1.9\",\n sha256 = \"6f11ff5c25c172608d5b85e2fb43ee9a6d683a7f4ab7f96ae07b3d8b590368fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/termsize/0.1.9/download\"],\n strip_prefix = \"termsize-0.1.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.termsize-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__thiserror-2.0.18\",\n sha256 = \"4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror/2.0.18/download\"],\n strip_prefix = \"thiserror-2.0.18\",\n build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-2.0.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__thiserror-impl-2.0.18\",\n sha256 = \"ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror-impl/2.0.18/download\"],\n strip_prefix = \"thiserror-impl-2.0.18\",\n build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-impl-2.0.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__thread_local-1.1.9\",\n sha256 = \"f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thread_local/1.1.9/download\"],\n strip_prefix = \"thread_local-1.1.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.thread_local-1.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-0.3.47\",\n sha256 = \"743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time/0.3.47/download\"],\n strip_prefix = \"time-0.3.47\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-0.3.47.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-core-0.1.8\",\n sha256 = \"7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time-core/0.1.8/download\"],\n strip_prefix = \"time-core-0.1.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-core-0.1.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-macros-0.2.27\",\n sha256 = \"2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time-macros/0.2.27/download\"],\n strip_prefix = \"time-macros-0.2.27\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-macros-0.2.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tiny-fn-0.1.9\",\n sha256 = \"9659b108631d1e1cf3e8e489f894bee40bc9d68fd6cc67ec4d4ce9b72d565228\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tiny-fn/0.1.9/download\"],\n strip_prefix = \"tiny-fn-0.1.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tiny-fn-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tinyjson-2.5.1\",\n sha256 = \"9ab95735ea2c8fd51154d01e39cf13912a78071c2d89abc49a7ef102a7dd725a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tinyjson/2.5.1/download\"],\n strip_prefix = \"tinyjson-2.5.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tinyjson-2.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-1.52.1\",\n sha256 = \"b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio/1.52.1/download\"],\n strip_prefix = \"tokio-1.52.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-1.52.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-macros-2.7.0\",\n sha256 = \"385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-macros/2.7.0/download\"],\n strip_prefix = \"tokio-macros-2.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-macros-2.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-seqpacket-0.8.1\",\n sha256 = \"ab144b76e4ffb1d1a4e8b404073c922a243baebcc580cd75f415ae3ae9e42add\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-seqpacket/0.8.1/download\"],\n strip_prefix = \"tokio-seqpacket-0.8.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-seqpacket-0.8.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-stream-0.1.18\",\n sha256 = \"32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-stream/0.1.18/download\"],\n strip_prefix = \"tokio-stream-0.1.18\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-stream-0.1.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-util-0.7.18\",\n sha256 = \"9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-util/0.7.18/download\"],\n strip_prefix = \"tokio-util-0.7.18\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-util-0.7.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml-0.8.23\",\n sha256 = \"dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml/0.8.23/download\"],\n strip_prefix = \"toml-0.8.23\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml-0.8.23.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml_datetime-0.6.11\",\n sha256 = \"22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_datetime/0.6.11/download\"],\n strip_prefix = \"toml_datetime-0.6.11\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml_datetime-0.6.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml_edit-0.22.27\",\n sha256 = \"41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_edit/0.22.27/download\"],\n strip_prefix = \"toml_edit-0.22.27\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml_edit-0.22.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml_write-0.1.2\",\n sha256 = \"5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_write/0.1.2/download\"],\n strip_prefix = \"toml_write-0.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml_write-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tonic-0.14.5\",\n sha256 = \"fec7c61a0695dc1887c1b53952990f3ad2e3a31453e1f49f10e75424943a93ec\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tonic/0.14.5/download\"],\n strip_prefix = \"tonic-0.14.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tonic-0.14.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tonic-build-0.12.3\",\n sha256 = \"9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tonic-build/0.12.3/download\"],\n strip_prefix = \"tonic-build-0.12.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tonic-build-0.12.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tower-0.5.3\",\n sha256 = \"ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tower/0.5.3/download\"],\n strip_prefix = \"tower-0.5.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tower-0.5.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tower-layer-0.3.3\",\n sha256 = \"121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tower-layer/0.3.3/download\"],\n strip_prefix = \"tower-layer-0.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tower-layer-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tower-service-0.3.3\",\n sha256 = \"8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tower-service/0.3.3/download\"],\n strip_prefix = \"tower-service-0.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tower-service-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-0.1.44\",\n sha256 = \"63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing/0.1.44/download\"],\n strip_prefix = \"tracing-0.1.44\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-0.1.44.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-attributes-0.1.31\",\n sha256 = \"7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-attributes/0.1.31/download\"],\n strip_prefix = \"tracing-attributes-0.1.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-attributes-0.1.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-core-0.1.36\",\n sha256 = \"db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-core/0.1.36/download\"],\n strip_prefix = \"tracing-core-0.1.36\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-core-0.1.36.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-log-0.2.0\",\n sha256 = \"ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-log/0.2.0/download\"],\n strip_prefix = \"tracing-log-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-log-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-serde-0.2.0\",\n sha256 = \"704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-serde/0.2.0/download\"],\n strip_prefix = \"tracing-serde-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-serde-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-subscriber-0.3.23\",\n sha256 = \"cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-subscriber/0.3.23/download\"],\n strip_prefix = \"tracing-subscriber-0.3.23\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-subscriber-0.3.23.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__try-lock-0.2.5\",\n sha256 = \"e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/try-lock/0.2.5/download\"],\n strip_prefix = \"try-lock-0.2.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.try-lock-0.2.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-ident-1.0.24\",\n sha256 = \"e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-ident/1.0.24/download\"],\n strip_prefix = \"unicode-ident-1.0.24\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-ident-1.0.24.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-width-0.2.2\",\n sha256 = \"b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-width/0.2.2/download\"],\n strip_prefix = \"unicode-width-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-width-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-xid-0.2.6\",\n sha256 = \"ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-xid/0.2.6/download\"],\n strip_prefix = \"unicode-xid-0.2.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-xid-0.2.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unit-prefix-0.5.2\",\n sha256 = \"81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unit-prefix/0.5.2/download\"],\n strip_prefix = \"unit-prefix-0.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unit-prefix-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__utf8parse-0.2.2\",\n sha256 = \"06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf8parse/0.2.2/download\"],\n strip_prefix = \"utf8parse-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.utf8parse-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__uuid-1.23.1\",\n sha256 = \"ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uuid/1.23.1/download\"],\n strip_prefix = \"uuid-1.23.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.uuid-1.23.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__valuable-0.1.1\",\n sha256 = \"ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/valuable/0.1.1/download\"],\n strip_prefix = \"valuable-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.valuable-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__version_check-0.9.5\",\n sha256 = \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/version_check/0.9.5/download\"],\n strip_prefix = \"version_check-0.9.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.version_check-0.9.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__want-0.3.1\",\n sha256 = \"bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/want/0.3.1/download\"],\n strip_prefix = \"want-0.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.want-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasi-0.11.1-wasi-snapshot-preview1\",\n sha256 = \"ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download\"],\n strip_prefix = \"wasi-0.11.1+wasi-snapshot-preview1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasip2-1.0.3-wasi-0.2.9\",\n sha256 = \"20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasip2/1.0.3+wasi-0.2.9/download\"],\n strip_prefix = \"wasip2-1.0.3+wasi-0.2.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasip2-1.0.3+wasi-0.2.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasip3-0.4.0-wasi-0.3.0-rc-2026-01-06\",\n sha256 = \"5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06/download\"],\n strip_prefix = \"wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-0.2.118\",\n sha256 = \"0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen/0.2.118/download\"],\n strip_prefix = \"wasm-bindgen-0.2.118\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-0.2.118.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-macro-0.2.118\",\n sha256 = \"eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-macro/0.2.118/download\"],\n strip_prefix = \"wasm-bindgen-macro-0.2.118\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-0.2.118.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-macro-support-0.2.118\",\n sha256 = \"9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.118/download\"],\n strip_prefix = \"wasm-bindgen-macro-support-0.2.118\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-support-0.2.118.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-shared-0.2.118\",\n sha256 = \"5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-shared/0.2.118/download\"],\n strip_prefix = \"wasm-bindgen-shared-0.2.118\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-shared-0.2.118.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-encoder-0.244.0\",\n sha256 = \"990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-encoder/0.244.0/download\"],\n strip_prefix = \"wasm-encoder-0.244.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-encoder-0.244.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-metadata-0.244.0\",\n sha256 = \"bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-metadata/0.244.0/download\"],\n strip_prefix = \"wasm-metadata-0.244.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-metadata-0.244.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasmparser-0.244.0\",\n sha256 = \"47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasmparser/0.244.0/download\"],\n strip_prefix = \"wasmparser-0.244.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasmparser-0.244.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__web-time-1.1.0\",\n sha256 = \"5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/web-time/1.1.0/download\"],\n strip_prefix = \"web-time-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.web-time-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__which-4.4.2\",\n sha256 = \"87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/which/4.4.2/download\"],\n strip_prefix = \"which-4.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.which-4.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-0.3.9\",\n sha256 = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi/0.3.9/download\"],\n strip_prefix = \"winapi-0.3.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-0.3.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-i686-pc-windows-gnu-0.4.0\",\n sha256 = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download\"],\n strip_prefix = \"winapi-i686-pc-windows-gnu-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-x86_64-pc-windows-gnu-0.4.0\",\n sha256 = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download\"],\n strip_prefix = \"winapi-x86_64-pc-windows-gnu-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-0.61.3\",\n sha256 = \"9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows/0.61.3/download\"],\n strip_prefix = \"windows-0.61.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-0.61.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-collections-0.2.0\",\n sha256 = \"3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-collections/0.2.0/download\"],\n strip_prefix = \"windows-collections-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-collections-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-core-0.61.2\",\n sha256 = \"c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-core/0.61.2/download\"],\n strip_prefix = \"windows-core-0.61.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-core-0.61.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-future-0.2.1\",\n sha256 = \"fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-future/0.2.1/download\"],\n strip_prefix = \"windows-future-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-future-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-implement-0.60.2\",\n sha256 = \"053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-implement/0.60.2/download\"],\n strip_prefix = \"windows-implement-0.60.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-implement-0.60.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-interface-0.59.3\",\n sha256 = \"3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-interface/0.59.3/download\"],\n strip_prefix = \"windows-interface-0.59.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-interface-0.59.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-link-0.1.3\",\n sha256 = \"5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-link/0.1.3/download\"],\n strip_prefix = \"windows-link-0.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-link-0.2.1\",\n sha256 = \"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-link/0.2.1/download\"],\n strip_prefix = \"windows-link-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-numerics-0.2.0\",\n sha256 = \"9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-numerics/0.2.0/download\"],\n strip_prefix = \"windows-numerics-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-numerics-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-result-0.3.4\",\n sha256 = \"56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-result/0.3.4/download\"],\n strip_prefix = \"windows-result-0.3.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-strings-0.4.2\",\n sha256 = \"56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-strings/0.4.2/download\"],\n strip_prefix = \"windows-strings-0.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-strings-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.48.0\",\n sha256 = \"677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.48.0/download\"],\n strip_prefix = \"windows-sys-0.48.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.48.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.59.0\",\n sha256 = \"1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.59.0/download\"],\n strip_prefix = \"windows-sys-0.59.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.59.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.61.2\",\n sha256 = \"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.61.2/download\"],\n strip_prefix = \"windows-sys-0.61.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.61.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-targets-0.48.5\",\n sha256 = \"9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.48.5/download\"],\n strip_prefix = \"windows-targets-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-targets-0.52.6\",\n sha256 = \"9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.52.6/download\"],\n strip_prefix = \"windows-targets-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-threading-0.1.0\",\n sha256 = \"b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-threading/0.1.0/download\"],\n strip_prefix = \"windows-threading-0.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-threading-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_gnullvm-0.48.5\",\n sha256 = \"2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_gnullvm-0.52.6\",\n sha256 = \"32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_msvc-0.48.5\",\n sha256 = \"dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_msvc-0.52.6\",\n sha256 = \"09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnu-0.48.5\",\n sha256 = \"a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.48.5/download\"],\n strip_prefix = \"windows_i686_gnu-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnu-0.52.6\",\n sha256 = \"8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.52.6/download\"],\n strip_prefix = \"windows_i686_gnu-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnullvm-0.52.6\",\n sha256 = \"0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_i686_gnullvm-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_msvc-0.48.5\",\n sha256 = \"8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.48.5/download\"],\n strip_prefix = \"windows_i686_msvc-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_msvc-0.52.6\",\n sha256 = \"240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.52.6/download\"],\n strip_prefix = \"windows_i686_msvc-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnu-0.48.5\",\n sha256 = \"53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnu-0.52.6\",\n sha256 = \"147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnullvm-0.48.5\",\n sha256 = \"0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnullvm-0.52.6\",\n sha256 = \"24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_msvc-0.48.5\",\n sha256 = \"ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_msvc-0.52.6\",\n sha256 = \"589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winnow-0.7.15\",\n sha256 = \"df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winnow/0.7.15/download\"],\n strip_prefix = \"winnow-0.7.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winnow-0.7.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-bindgen-0.51.0\",\n sha256 = \"d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-bindgen/0.51.0/download\"],\n strip_prefix = \"wit-bindgen-0.51.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-0.51.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-bindgen-0.57.1\",\n sha256 = \"1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-bindgen/0.57.1/download\"],\n strip_prefix = \"wit-bindgen-0.57.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-0.57.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-bindgen-core-0.51.0\",\n sha256 = \"ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-bindgen-core/0.51.0/download\"],\n strip_prefix = \"wit-bindgen-core-0.51.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-core-0.51.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-bindgen-rust-0.51.0\",\n sha256 = \"b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-bindgen-rust/0.51.0/download\"],\n strip_prefix = \"wit-bindgen-rust-0.51.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-rust-0.51.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-bindgen-rust-macro-0.51.0\",\n sha256 = \"0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-bindgen-rust-macro/0.51.0/download\"],\n strip_prefix = \"wit-bindgen-rust-macro-0.51.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-rust-macro-0.51.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-component-0.244.0\",\n sha256 = \"9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-component/0.244.0/download\"],\n strip_prefix = \"wit-component-0.244.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-component-0.244.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-parser-0.244.0\",\n sha256 = \"ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-parser/0.244.0/download\"],\n strip_prefix = \"wit-parser-0.244.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-parser-0.244.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__yansi-1.0.1\",\n sha256 = \"cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/yansi/1.0.1/download\"],\n strip_prefix = \"yansi-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.yansi-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zerocopy-0.8.48\",\n sha256 = \"eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerocopy/0.8.48/download\"],\n strip_prefix = \"zerocopy-0.8.48\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-0.8.48.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zerocopy-derive-0.8.48\",\n sha256 = \"70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.48/download\"],\n strip_prefix = \"zerocopy-derive-0.8.48\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-derive-0.8.48.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zmij-1.0.21\",\n sha256 = \"b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zmij/1.0.21/download\"],\n strip_prefix = \"zmij-1.0.21\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zmij-1.0.21.bazel\"),\n )\n\n return [\n struct(repo=\"crate_index__adler32-1.2.0\", is_dev_dep = False),\n struct(repo=\"crate_index__anyhow-1.0.102\", is_dev_dep = False),\n struct(repo=\"crate_index__argh-0.1.19\", is_dev_dep = False),\n struct(repo=\"crate_index__arrayvec-0.7.6\", is_dev_dep = False),\n struct(repo=\"crate_index__async-stream-0.3.6\", is_dev_dep = False),\n struct(repo=\"crate_index__bytes-1.11.1\", is_dev_dep = False),\n struct(repo=\"crate_index__cc-1.2.61\", is_dev_dep = False),\n struct(repo=\"crate_index__clap-4.6.1\", is_dev_dep = False),\n struct(repo=\"crate_index__console-0.16.3\", is_dev_dep = False),\n struct(repo=\"crate_index__ctrlc-3.5.2\", is_dev_dep = False),\n struct(repo=\"crate_index__env_logger-0.11.10\", is_dev_dep = False),\n struct(repo=\"crate_index__futures-0.3.32\", is_dev_dep = False),\n struct(repo=\"crate_index__human_bytes-0.4.3\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-0.5.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-container-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-cal-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__indicatif-0.18.4\", is_dev_dep = False),\n struct(repo=\"crate_index__indicatif-log-bridge-0.2.3\", is_dev_dep = False),\n struct(repo=\"crate_index__ipc-channel-0.20.2\", is_dev_dep = False),\n struct(repo=\"crate_index__libc-0.2.186\", is_dev_dep = False),\n struct(repo=\"crate_index__log-0.4.29\", is_dev_dep = False),\n struct(repo=\"crate_index__mio-1.2.0\", is_dev_dep = False),\n struct(repo=\"crate_index__nix-0.30.1\", is_dev_dep = False),\n struct(repo=\"crate_index__paste-1.0.15\", is_dev_dep = False),\n struct(repo=\"crate_index__pico-args-0.5.0\", is_dev_dep = False),\n struct(repo=\"crate_index__postcard-1.1.3\", is_dev_dep = False),\n struct(repo=\"crate_index__proc-macro2-1.0.106\", is_dev_dep = False),\n struct(repo=\"crate_index__prost-0.14.3\", is_dev_dep = False),\n struct(repo=\"crate_index__prost-build-0.14.3\", is_dev_dep = False),\n struct(repo=\"crate_index__prost-types-0.14.3\", is_dev_dep = False),\n struct(repo=\"crate_index__protoc-gen-prost-0.4.0\", is_dev_dep = False),\n struct(repo=\"crate_index__protoc-gen-tonic-0.4.1\", is_dev_dep = False),\n struct(repo=\"crate_index__quote-1.0.45\", is_dev_dep = False),\n struct(repo=\"crate_index__rand-0.9.4\", is_dev_dep = False),\n struct(repo=\"crate_index__serde-1.0.228\", is_dev_dep = False),\n struct(repo=\"crate_index__serde_json-1.0.149\", is_dev_dep = False),\n struct(repo=\"crate_index__signal-hook-0.3.18\", is_dev_dep = False),\n struct(repo=\"crate_index__socket2-0.6.3\", is_dev_dep = False),\n struct(repo=\"crate_index__syn-2.0.117\", is_dev_dep = False),\n struct(repo=\"crate_index__tempfile-3.27.0\", is_dev_dep = False),\n struct(repo=\"crate_index__time-0.3.47\", is_dev_dep = False),\n struct(repo=\"crate_index__tinyjson-2.5.1\", is_dev_dep = False),\n struct(repo=\"crate_index__tokio-1.52.1\", is_dev_dep = False),\n struct(repo=\"crate_index__tokio-seqpacket-0.8.1\", is_dev_dep = False),\n struct(repo=\"crate_index__tokio-util-0.7.18\", is_dev_dep = False),\n struct(repo=\"crate_index__tonic-0.14.5\", is_dev_dep = False),\n struct(repo=\"crate_index__tracing-0.1.44\", is_dev_dep = False),\n struct(repo=\"crate_index__tracing-subscriber-0.3.23\", is_dev_dep = False),\n ]\n" + "defs.bzl": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\"\"\"\n# `crates_repository` API\n\n- [aliases](#aliases)\n- [crate_deps](#crate_deps)\n- [all_crate_deps](#all_crate_deps)\n- [crate_repositories](#crate_repositories)\n\n\"\"\"\n\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"new_git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"@bazel_tools//tools/build_defs/repo:utils.bzl\", \"maybe\")\nload(\"@bazel_skylib//lib:selects.bzl\", \"selects\")\nload(\"@rules_rust//crate_universe/private:local_crate_mirror.bzl\", \"local_crate_mirror\")\n\n###############################################################################\n# MACROS API\n###############################################################################\n\n# An identifier that represent common dependencies (unconditional).\n_COMMON_CONDITION = \"\"\n\ndef _flatten_dependency_maps(all_dependency_maps):\n \"\"\"Flatten a list of dependency maps into one dictionary.\n\n Dependency maps have the following structure:\n\n ```python\n DEPENDENCIES_MAP = {\n # The first key in the map is a Bazel package\n # name of the workspace this file is defined in.\n \"workspace_member_package\": {\n\n # Not all dependencies are supported for all platforms.\n # the condition key is the condition required to be true\n # on the host platform.\n \"condition\": {\n\n # An alias to a crate target. # The label of the crate target the\n # Aliases are only crate names. # package name refers to.\n \"package_name\": \"@full//:label\",\n }\n }\n }\n ```\n\n Args:\n all_dependency_maps (list): A list of dicts as described above\n\n Returns:\n dict: A dictionary as described above\n \"\"\"\n dependencies = {}\n\n for workspace_deps_map in all_dependency_maps:\n for pkg_name, conditional_deps_map in workspace_deps_map.items():\n if pkg_name not in dependencies:\n non_frozen_map = dict()\n for key, values in conditional_deps_map.items():\n non_frozen_map.update({key: dict(values.items())})\n dependencies.setdefault(pkg_name, non_frozen_map)\n continue\n\n for condition, deps_map in conditional_deps_map.items():\n # If the condition has not been recorded, do so and continue\n if condition not in dependencies[pkg_name]:\n dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))\n continue\n\n # Alert on any miss-matched dependencies\n inconsistent_entries = []\n for crate_name, crate_label in deps_map.items():\n existing = dependencies[pkg_name][condition].get(crate_name)\n if existing and existing != crate_label:\n inconsistent_entries.append((crate_name, existing, crate_label))\n dependencies[pkg_name][condition].update({crate_name: crate_label})\n\n return dependencies\n\ndef crate_deps(deps, package_name = None):\n \"\"\"Finds the fully qualified label of the requested crates for the package where this macro is called.\n\n Args:\n deps (list): The desired list of crate targets.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()`.\n\n Returns:\n list: A list of labels to generated rust targets (str)\n \"\"\"\n\n if not deps:\n return []\n\n if package_name == None:\n package_name = native.package_name()\n\n # Join both sets of dependencies\n dependencies = _flatten_dependency_maps([\n _NORMAL_DEPENDENCIES,\n _NORMAL_DEV_DEPENDENCIES,\n _PROC_MACRO_DEPENDENCIES,\n _PROC_MACRO_DEV_DEPENDENCIES,\n _BUILD_DEPENDENCIES,\n _BUILD_PROC_MACRO_DEPENDENCIES,\n ]).pop(package_name, {})\n\n # Combine all conditional packages so we can easily index over a flat list\n # TODO: Perhaps this should actually return select statements and maintain\n # the conditionals of the dependencies\n flat_deps = {}\n for deps_set in dependencies.values():\n for crate_name, crate_label in deps_set.items():\n flat_deps.update({crate_name: crate_label})\n\n missing_crates = []\n crate_targets = []\n for crate_target in deps:\n if crate_target not in flat_deps:\n missing_crates.append(crate_target)\n else:\n crate_targets.append(flat_deps[crate_target])\n\n if missing_crates:\n fail(\"Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`\".format(\n missing_crates,\n package_name,\n dependencies,\n ))\n\n return crate_targets\n\ndef all_crate_deps(\n normal = False, \n normal_dev = False, \n proc_macro = False, \n proc_macro_dev = False,\n build = False,\n build_proc_macro = False,\n package_name = None):\n \"\"\"Finds the fully qualified label of all requested direct crate dependencies \\\n for the package where this macro is called.\n\n If no parameters are set, all normal dependencies are returned. Setting any one flag will\n otherwise impact the contents of the returned list.\n\n Args:\n normal (bool, optional): If True, normal dependencies are included in the\n output list.\n normal_dev (bool, optional): If True, normal dev dependencies will be\n included in the output list.\n proc_macro (bool, optional): If True, proc_macro dependencies are included\n in the output list.\n proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n included in the output list.\n build (bool, optional): If True, build dependencies are included\n in the output list.\n build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n included in the output list.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()` when unset.\n\n Returns:\n list: A list of labels to generated rust targets (str)\n \"\"\"\n\n if package_name == None:\n package_name = native.package_name()\n\n # Determine the relevant maps to use\n all_dependency_maps = []\n if normal:\n all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n if normal_dev:\n all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)\n if proc_macro:\n all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)\n if proc_macro_dev:\n all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)\n if build:\n all_dependency_maps.append(_BUILD_DEPENDENCIES)\n if build_proc_macro:\n all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)\n\n # Default to always using normal dependencies\n if not all_dependency_maps:\n all_dependency_maps.append(_NORMAL_DEPENDENCIES)\n\n dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)\n\n if not dependencies:\n if dependencies == None:\n fail(\"Tried to get all_crate_deps for package \" + package_name + \" but that package had no Cargo.toml file\")\n else:\n return []\n\n crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())\n for condition, deps in dependencies.items():\n crate_deps += selects.with_or({\n tuple(_CONDITIONS[condition]): deps.values(),\n \"//conditions:default\": [],\n })\n\n return crate_deps\n\ndef aliases(\n normal = False,\n normal_dev = False,\n proc_macro = False,\n proc_macro_dev = False,\n build = False,\n build_proc_macro = False,\n package_name = None):\n \"\"\"Produces a map of Crate alias names to their original label\n\n If no dependency kinds are specified, `normal` and `proc_macro` are used by default.\n Setting any one flag will otherwise determine the contents of the returned dict.\n\n Args:\n normal (bool, optional): If True, normal dependencies are included in the\n output list.\n normal_dev (bool, optional): If True, normal dev dependencies will be\n included in the output list..\n proc_macro (bool, optional): If True, proc_macro dependencies are included\n in the output list.\n proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are\n included in the output list.\n build (bool, optional): If True, build dependencies are included\n in the output list.\n build_proc_macro (bool, optional): If True, build proc_macro dependencies are\n included in the output list.\n package_name (str, optional): The package name of the set of dependencies to look up.\n Defaults to `native.package_name()` when unset.\n\n Returns:\n dict: The aliases of all associated packages\n \"\"\"\n if package_name == None:\n package_name = native.package_name()\n\n # Determine the relevant maps to use\n all_aliases_maps = []\n if normal:\n all_aliases_maps.append(_NORMAL_ALIASES)\n if normal_dev:\n all_aliases_maps.append(_NORMAL_DEV_ALIASES)\n if proc_macro:\n all_aliases_maps.append(_PROC_MACRO_ALIASES)\n if proc_macro_dev:\n all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)\n if build:\n all_aliases_maps.append(_BUILD_ALIASES)\n if build_proc_macro:\n all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)\n\n # Default to always using normal aliases\n if not all_aliases_maps:\n all_aliases_maps.append(_NORMAL_ALIASES)\n all_aliases_maps.append(_PROC_MACRO_ALIASES)\n\n aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)\n\n if not aliases:\n return dict()\n\n common_items = aliases.pop(_COMMON_CONDITION, {}).items()\n\n # If there are only common items in the dictionary, immediately return them\n if not len(aliases.keys()) == 1:\n return dict(common_items)\n\n # Build a single select statement where each conditional has accounted for the\n # common set of aliases.\n crate_aliases = {\"//conditions:default\": dict(common_items)}\n for condition, deps in aliases.items():\n condition_triples = _CONDITIONS[condition]\n for triple in condition_triples:\n if triple in crate_aliases:\n crate_aliases[triple].update(deps)\n else:\n crate_aliases.update({triple: dict(deps.items() + common_items)})\n\n return select(crate_aliases)\n\n###############################################################################\n# WORKSPACE MEMBER DEPS AND ALIASES\n###############################################################################\n\n_NORMAL_DEPENDENCIES = {\n \"\": {\n _COMMON_CONDITION: {\n \"adler32\": Label(\"@crate_index//:adler32-1.2.0\"),\n \"anyhow\": Label(\"@crate_index//:anyhow-1.0.102\"),\n \"argh\": Label(\"@crate_index//:argh-0.1.19\"),\n \"arrayvec\": Label(\"@crate_index//:arrayvec-0.7.6\"),\n \"async-stream\": Label(\"@crate_index//:async-stream-0.3.6\"),\n \"bytes\": Label(\"@crate_index//:bytes-1.11.1\"),\n \"cc\": Label(\"@crate_index//:cc-1.2.61\"),\n \"clap\": Label(\"@crate_index//:clap-4.6.1\"),\n \"cliclack\": Label(\"@crate_index//:cliclack-0.3.8\"),\n \"console\": Label(\"@crate_index//:console-0.16.3\"),\n \"ctrlc\": Label(\"@crate_index//:ctrlc-3.5.2\"),\n \"env_logger\": Label(\"@crate_index//:env_logger-0.11.10\"),\n \"futures\": Label(\"@crate_index//:futures-0.3.32\"),\n \"human_bytes\": Label(\"@crate_index//:human_bytes-0.4.3\"),\n \"iceoryx2\": Label(\"@crate_index//:iceoryx2-0.5.0\"),\n \"iceoryx2-bb-container-qnx8\": Label(\"@crate_index//:iceoryx2-bb-container-qnx8-0.7.0\"),\n \"iceoryx2-bb-elementary-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-qnx8-0.7.0\"),\n \"iceoryx2-bb-elementary-traits-qnx8\": Label(\"@crate_index//:iceoryx2-bb-elementary-traits-qnx8-0.7.0\"),\n \"iceoryx2-bb-lock-free-qnx8\": Label(\"@crate_index//:iceoryx2-bb-lock-free-qnx8-0.7.0\"),\n \"iceoryx2-bb-memory-qnx8\": Label(\"@crate_index//:iceoryx2-bb-memory-qnx8-0.7.0\"),\n \"iceoryx2-bb-posix-qnx8\": Label(\"@crate_index//:iceoryx2-bb-posix-qnx8-0.7.0\"),\n \"iceoryx2-bb-system-types-qnx8\": Label(\"@crate_index//:iceoryx2-bb-system-types-qnx8-0.7.0\"),\n \"iceoryx2-bb-testing-qnx8\": Label(\"@crate_index//:iceoryx2-bb-testing-qnx8-0.7.0\"),\n \"iceoryx2-bb-threadsafe-qnx8\": Label(\"@crate_index//:iceoryx2-bb-threadsafe-qnx8-0.7.0\"),\n \"iceoryx2-cal-qnx8\": Label(\"@crate_index//:iceoryx2-cal-qnx8-0.7.0\"),\n \"iceoryx2-pal-concurrency-sync-qnx8\": Label(\"@crate_index//:iceoryx2-pal-concurrency-sync-qnx8-0.7.0\"),\n \"iceoryx2-qnx8\": Label(\"@crate_index//:iceoryx2-qnx8-0.7.0\"),\n \"indicatif\": Label(\"@crate_index//:indicatif-0.18.4\"),\n \"indicatif-log-bridge\": Label(\"@crate_index//:indicatif-log-bridge-0.2.3\"),\n \"ipc-channel\": Label(\"@crate_index//:ipc-channel-0.20.2\"),\n \"libc\": Label(\"@crate_index//:libc-0.2.186\"),\n \"log\": Label(\"@crate_index//:log-0.4.29\"),\n \"loom\": Label(\"@crate_index//:loom-0.7.2\"),\n \"mio\": Label(\"@crate_index//:mio-1.2.0\"),\n \"nix\": Label(\"@crate_index//:nix-0.30.1\"),\n \"pico-args\": Label(\"@crate_index//:pico-args-0.5.0\"),\n \"postcard\": Label(\"@crate_index//:postcard-1.1.3\"),\n \"proc-macro2\": Label(\"@crate_index//:proc-macro2-1.0.106\"),\n \"prost\": Label(\"@crate_index//:prost-0.14.3\"),\n \"prost-build\": Label(\"@crate_index//:prost-build-0.14.3\"),\n \"prost-types\": Label(\"@crate_index//:prost-types-0.14.3\"),\n \"protoc-gen-prost\": Label(\"@crate_index//:protoc-gen-prost-0.4.0\"),\n \"protoc-gen-tonic\": Label(\"@crate_index//:protoc-gen-tonic-0.4.1\"),\n \"quote\": Label(\"@crate_index//:quote-1.0.45\"),\n \"rand\": Label(\"@crate_index//:rand-0.9.4\"),\n \"serde\": Label(\"@crate_index//:serde-1.0.228\"),\n \"serde_json\": Label(\"@crate_index//:serde_json-1.0.149\"),\n \"signal-hook\": Label(\"@crate_index//:signal-hook-0.3.18\"),\n \"socket2\": Label(\"@crate_index//:socket2-0.6.3\"),\n \"syn\": Label(\"@crate_index//:syn-2.0.117\"),\n \"tempfile\": Label(\"@crate_index//:tempfile-3.27.0\"),\n \"thiserror\": Label(\"@crate_index//:thiserror-2.0.18\"),\n \"time\": Label(\"@crate_index//:time-0.3.47\"),\n \"tinyjson\": Label(\"@crate_index//:tinyjson-2.5.1\"),\n \"tokio\": Label(\"@crate_index//:tokio-1.52.1\"),\n \"tokio-seqpacket\": Label(\"@crate_index//:tokio-seqpacket-0.8.1\"),\n \"tokio-util\": Label(\"@crate_index//:tokio-util-0.7.18\"),\n \"tonic\": Label(\"@crate_index//:tonic-0.14.5\"),\n \"tracing\": Label(\"@crate_index//:tracing-0.1.44\"),\n \"tracing-subscriber\": Label(\"@crate_index//:tracing-subscriber-0.3.23\"),\n },\n },\n}\n\n\n_NORMAL_ALIASES = {\n \"\": {\n _COMMON_CONDITION: {\n },\n },\n}\n\n\n_NORMAL_DEV_DEPENDENCIES = {\n \"\": {\n },\n}\n\n\n_NORMAL_DEV_ALIASES = {\n \"\": {\n },\n}\n\n\n_PROC_MACRO_DEPENDENCIES = {\n \"\": {\n _COMMON_CONDITION: {\n \"iceoryx2-bb-derive-macros-qnx8\": Label(\"@crate_index//:iceoryx2-bb-derive-macros-qnx8-0.7.0\"),\n \"paste\": Label(\"@crate_index//:paste-1.0.15\"),\n },\n },\n}\n\n\n_PROC_MACRO_ALIASES = {\n \"\": {\n },\n}\n\n\n_PROC_MACRO_DEV_DEPENDENCIES = {\n \"\": {\n },\n}\n\n\n_PROC_MACRO_DEV_ALIASES = {\n \"\": {\n },\n}\n\n\n_BUILD_DEPENDENCIES = {\n \"\": {\n },\n}\n\n\n_BUILD_ALIASES = {\n \"\": {\n },\n}\n\n\n_BUILD_PROC_MACRO_DEPENDENCIES = {\n \"\": {\n },\n}\n\n\n_BUILD_PROC_MACRO_ALIASES = {\n \"\": {\n },\n}\n\n\n_CONDITIONS = {\n \"aarch64-pc-windows-gnullvm\": [],\n \"aarch64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\"],\n \"aarch64-unknown-nto-qnx710\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\"],\n \"cfg(all(any(target_arch = \\\"x86_64\\\", target_arch = \\\"arm64ec\\\"), target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(any(target_os = \\\"android\\\", target_os = \\\"linux\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [],\n \"cfg(all(any(target_os = \\\"linux\\\", target_os = \\\"android\\\"), not(any(all(target_os = \\\"linux\\\", target_env = \\\"\\\"), getrandom_backend = \\\"custom\\\", getrandom_backend = \\\"linux_raw\\\", getrandom_backend = \\\"rdrand\\\", getrandom_backend = \\\"rndr\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(all(not(rustix_use_libc), not(miri), target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\"))))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", any(target_arch = \\\"s390x\\\", target_arch = \\\"powerpc\\\")), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc\\\"), all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n \"cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \\\"linux\\\", any(target_endian = \\\"little\\\", target_arch = \\\"s390x\\\"), any(target_arch = \\\"arm\\\", all(target_arch = \\\"aarch64\\\", target_pointer_width = \\\"64\\\"), target_arch = \\\"riscv64\\\", all(rustix_use_experimental_asm, target_arch = \\\"powerpc64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"s390x\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips32r6\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64\\\"), all(rustix_use_experimental_asm, target_arch = \\\"mips64r6\\\"), target_arch = \\\"x86\\\", all(target_arch = \\\"x86_64\\\", target_pointer_width = \\\"64\\\")))))))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n \"cfg(all(target_arch = \\\"aarch64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p2\\\"))\": [],\n \"cfg(all(target_arch = \\\"wasm32\\\", target_os = \\\"wasi\\\", target_env = \\\"p3\\\"))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"gnu\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"gnu\\\", not(target_abi = \\\"llvm\\\"), not(windows_raw_dylib)))\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(all(target_arch = \\\"x86_64\\\", target_env = \\\"msvc\\\", not(windows_raw_dylib)))\": [],\n \"cfg(all(target_family = \\\"wasm\\\", target_os = \\\"unknown\\\"))\": [],\n \"cfg(all(target_os = \\\"uefi\\\", getrandom_backend = \\\"efi_rng\\\"))\": [],\n \"cfg(any())\": [],\n \"cfg(any(target_os = \\\"dragonfly\\\", target_os = \\\"freebsd\\\", target_os = \\\"hurd\\\", target_os = \\\"illumos\\\", target_os = \\\"cygwin\\\", all(target_os = \\\"horizon\\\", target_arch = \\\"arm\\\")))\": [],\n \"cfg(any(target_os = \\\"haiku\\\", target_os = \\\"redox\\\", target_os = \\\"nto\\\", target_os = \\\"aix\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n \"cfg(any(target_os = \\\"ios\\\", target_os = \\\"visionos\\\", target_os = \\\"watchos\\\", target_os = \\\"tvos\\\"))\": [],\n \"cfg(any(target_os = \\\"linux\\\", target_os = \\\"openbsd\\\", target_os = \\\"freebsd\\\", target_os = \\\"illumos\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(any(target_os = \\\"macos\\\", target_os = \\\"openbsd\\\", target_os = \\\"vita\\\", target_os = \\\"emscripten\\\"))\": [],\n \"cfg(any(unix, target_os = \\\"hermit\\\", target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(any(unix, target_os = \\\"wasi\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(any(windows, unix, target_os = \\\"redox\\\"))\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(not(target_has_atomic = \\\"ptr\\\"))\": [],\n \"cfg(target_arch = \\\"x86_64\\\")\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\",\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n \"cfg(target_os = \\\"hermit\\\")\": [],\n \"cfg(target_os = \\\"macos\\\")\": [],\n \"cfg(target_os = \\\"netbsd\\\")\": [],\n \"cfg(target_os = \\\"solaris\\\")\": [],\n \"cfg(target_os = \\\"vxworks\\\")\": [],\n \"cfg(target_os = \\\"wasi\\\")\": [],\n \"cfg(target_os = \\\"windows\\\")\": [],\n \"cfg(target_vendor = \\\"apple\\\")\": [],\n \"cfg(unix)\": [\"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\",\"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\",\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"cfg(windows)\": [],\n \"i686-pc-windows-gnu\": [],\n \"i686-pc-windows-gnullvm\": [],\n \"riscv32i-unknown-none-elf\": [],\n \"riscv32imc-unknown-none-elf\": [],\n \"x86_64-pc-nto-qnx710\": [\"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\"],\n \"x86_64-pc-windows-gnu\": [],\n \"x86_64-pc-windows-gnullvm\": [],\n \"x86_64-unknown-linux-gnu\": [\"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\"],\n \"x86_64-unknown-none\": [\"@rules_rust//rust/platform:x86_64-unknown-none\"],\n \"xtensa-esp32s2-none-elf\": [],\n}\n\n###############################################################################\n\ndef crate_repositories():\n \"\"\"A macro for defining repositories for all generated crates.\n\n Returns:\n A list of repos visible to the module through the module extension.\n \"\"\"\n maybe(\n http_archive,\n name = \"crate_index__adler32-1.2.0\",\n sha256 = \"aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/adler32/1.2.0/download\"],\n strip_prefix = \"adler32-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.adler32-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__aho-corasick-1.1.4\",\n sha256 = \"ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aho-corasick/1.1.4/download\"],\n strip_prefix = \"aho-corasick-1.1.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.aho-corasick-1.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__aliasable-0.1.3\",\n sha256 = \"250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/aliasable/0.1.3/download\"],\n strip_prefix = \"aliasable-0.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.aliasable-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstream-1.0.0\",\n sha256 = \"824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstream/1.0.0/download\"],\n strip_prefix = \"anstream-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstream-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-1.0.14\",\n sha256 = \"940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle/1.0.14/download\"],\n strip_prefix = \"anstyle-1.0.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-1.0.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-parse-1.0.0\",\n sha256 = \"52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-parse/1.0.0/download\"],\n strip_prefix = \"anstyle-parse-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-parse-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-query-1.1.5\",\n sha256 = \"40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-query/1.1.5/download\"],\n strip_prefix = \"anstyle-query-1.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-query-1.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anstyle-wincon-3.0.11\",\n sha256 = \"291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anstyle-wincon/3.0.11/download\"],\n strip_prefix = \"anstyle-wincon-3.0.11\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anstyle-wincon-3.0.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__anyhow-1.0.102\",\n sha256 = \"7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/anyhow/1.0.102/download\"],\n strip_prefix = \"anyhow-1.0.102\",\n build_file = Label(\"@crate_index//crate_index:BUILD.anyhow-1.0.102.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__argh-0.1.19\",\n sha256 = \"211818e820cda9ca6f167a64a5c808837366a6dfd807157c64c1304c486cd033\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/argh/0.1.19/download\"],\n strip_prefix = \"argh-0.1.19\",\n build_file = Label(\"@crate_index//crate_index:BUILD.argh-0.1.19.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__argh_derive-0.1.19\",\n sha256 = \"c442a9d18cef5dde467405d27d461d080d68972d6d0dfd0408265b6749ec427d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/argh_derive/0.1.19/download\"],\n strip_prefix = \"argh_derive-0.1.19\",\n build_file = Label(\"@crate_index//crate_index:BUILD.argh_derive-0.1.19.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__argh_shared-0.1.19\",\n sha256 = \"e5ade012bac4db278517a0132c8c10c6427025868dca16c801087c28d5a411f1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/argh_shared/0.1.19/download\"],\n strip_prefix = \"argh_shared-0.1.19\",\n build_file = Label(\"@crate_index//crate_index:BUILD.argh_shared-0.1.19.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__arrayvec-0.7.6\",\n sha256 = \"7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/arrayvec/0.7.6/download\"],\n strip_prefix = \"arrayvec-0.7.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.arrayvec-0.7.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__async-stream-0.3.6\",\n sha256 = \"0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-stream/0.3.6/download\"],\n strip_prefix = \"async-stream-0.3.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-0.3.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__async-stream-impl-0.3.6\",\n sha256 = \"c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-stream-impl/0.3.6/download\"],\n strip_prefix = \"async-stream-impl-0.3.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.async-stream-impl-0.3.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__async-trait-0.1.89\",\n sha256 = \"9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/async-trait/0.1.89/download\"],\n strip_prefix = \"async-trait-0.1.89\",\n build_file = Label(\"@crate_index//crate_index:BUILD.async-trait-0.1.89.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__atomic-polyfill-1.0.3\",\n sha256 = \"8cf2bce30dfe09ef0bfaef228b9d414faaf7e563035494d7fe092dba54b300f4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atomic-polyfill/1.0.3/download\"],\n strip_prefix = \"atomic-polyfill-1.0.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.atomic-polyfill-1.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__atomic-waker-1.1.2\",\n sha256 = \"1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/atomic-waker/1.1.2/download\"],\n strip_prefix = \"atomic-waker-1.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.atomic-waker-1.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__axum-0.8.9\",\n sha256 = \"31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/axum/0.8.9/download\"],\n strip_prefix = \"axum-0.8.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.axum-0.8.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__axum-core-0.5.6\",\n sha256 = \"08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/axum-core/0.5.6/download\"],\n strip_prefix = \"axum-core-0.5.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.axum-core-0.5.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__base64-0.22.1\",\n sha256 = \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/base64/0.22.1/download\"],\n strip_prefix = \"base64-0.22.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.base64-0.22.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bincode-1.3.3\",\n sha256 = \"b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bincode/1.3.3/download\"],\n strip_prefix = \"bincode-1.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bincode-1.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bindgen-0.69.5\",\n sha256 = \"271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bindgen/0.69.5/download\"],\n strip_prefix = \"bindgen-0.69.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.69.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bindgen-0.72.1\",\n sha256 = \"993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bindgen/0.72.1/download\"],\n strip_prefix = \"bindgen-0.72.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bindgen-0.72.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bitflags-2.11.1\",\n sha256 = \"c4512299f36f043ab09a583e57bceb5a5aab7a73db1805848e8fef3c9e8c78b3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bitflags/2.11.1/download\"],\n strip_prefix = \"bitflags-2.11.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bitflags-2.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__block2-0.6.2\",\n sha256 = \"cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/block2/0.6.2/download\"],\n strip_prefix = \"block2-0.6.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.block2-0.6.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bumpalo-3.20.2\",\n sha256 = \"5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bumpalo/3.20.2/download\"],\n strip_prefix = \"bumpalo-3.20.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bumpalo-3.20.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__byteorder-1.5.0\",\n sha256 = \"1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/byteorder/1.5.0/download\"],\n strip_prefix = \"byteorder-1.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.byteorder-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__bytes-1.11.1\",\n sha256 = \"1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/bytes/1.11.1/download\"],\n strip_prefix = \"bytes-1.11.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.bytes-1.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cc-1.2.61\",\n sha256 = \"d16d90359e986641506914ba71350897565610e87ce0ad9e6f28569db3dd5c6d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cc/1.2.61/download\"],\n strip_prefix = \"cc-1.2.61\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cc-1.2.61.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cdr-0.2.4\",\n sha256 = \"9617422bf43fde9280707a7e90f8f7494389c182f5c70b0f67592d0f06d41dfa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cdr/0.2.4/download\"],\n strip_prefix = \"cdr-0.2.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cdr-0.2.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cexpr-0.6.0\",\n sha256 = \"6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cexpr/0.6.0/download\"],\n strip_prefix = \"cexpr-0.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cexpr-0.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cfg-if-1.0.4\",\n sha256 = \"9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg-if/1.0.4/download\"],\n strip_prefix = \"cfg-if-1.0.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cfg-if-1.0.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cfg_aliases-0.2.1\",\n sha256 = \"613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cfg_aliases/0.2.1/download\"],\n strip_prefix = \"cfg_aliases-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cfg_aliases-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clang-sys-1.8.1\",\n sha256 = \"0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clang-sys/1.8.1/download\"],\n strip_prefix = \"clang-sys-1.8.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clang-sys-1.8.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap-4.6.1\",\n sha256 = \"1ddb117e43bbf7dacf0a4190fef4d345b9bad68dfc649cb349e7d17d28428e51\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap/4.6.1/download\"],\n strip_prefix = \"clap-4.6.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap-4.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_builder-4.6.0\",\n sha256 = \"714a53001bf66416adb0e2ef5ac857140e7dc3a0c48fb28b2f10762fc4b5069f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_builder/4.6.0/download\"],\n strip_prefix = \"clap_builder-4.6.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_builder-4.6.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_derive-4.6.1\",\n sha256 = \"f2ce8604710f6733aa641a2b3731eaa1e8b3d9973d5e3565da11800813f997a9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_derive/4.6.1/download\"],\n strip_prefix = \"clap_derive-4.6.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_derive-4.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__clap_lex-1.1.0\",\n sha256 = \"c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/clap_lex/1.1.0/download\"],\n strip_prefix = \"clap_lex-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.clap_lex-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cliclack-0.3.8\",\n sha256 = \"aa510b739c618c679375ea9c5af44ce9f591289546e874ad5910e7ce7df79844\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cliclack/0.3.8/download\"],\n strip_prefix = \"cliclack-0.3.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cliclack-0.3.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__cobs-0.3.0\",\n sha256 = \"0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/cobs/0.3.0/download\"],\n strip_prefix = \"cobs-0.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.cobs-0.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__colorchoice-1.0.5\",\n sha256 = \"1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/colorchoice/1.0.5/download\"],\n strip_prefix = \"colorchoice-1.0.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.colorchoice-1.0.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__console-0.15.11\",\n sha256 = \"054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/console/0.15.11/download\"],\n strip_prefix = \"console-0.15.11\",\n build_file = Label(\"@crate_index//crate_index:BUILD.console-0.15.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__console-0.16.3\",\n sha256 = \"d64e8af5551369d19cf50138de61f1c42074ab970f74e99be916646777f8fc87\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/console/0.16.3/download\"],\n strip_prefix = \"console-0.16.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.console-0.16.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__critical-section-1.2.0\",\n sha256 = \"790eea4361631c5e7d22598ecd5723ff611904e3344ce8720784c93e3d83d40b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/critical-section/1.2.0/download\"],\n strip_prefix = \"critical-section-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.critical-section-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crossbeam-channel-0.5.15\",\n sha256 = \"82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crossbeam-channel/0.5.15/download\"],\n strip_prefix = \"crossbeam-channel-0.5.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-channel-0.5.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__crossbeam-utils-0.8.21\",\n sha256 = \"d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/crossbeam-utils/0.8.21/download\"],\n strip_prefix = \"crossbeam-utils-0.8.21\",\n build_file = Label(\"@crate_index//crate_index:BUILD.crossbeam-utils-0.8.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ctrlc-3.5.2\",\n sha256 = \"e0b1fab2ae45819af2d0731d60f2afe17227ebb1a1538a236da84c93e9a60162\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ctrlc/3.5.2/download\"],\n strip_prefix = \"ctrlc-3.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ctrlc-3.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__deranged-0.5.8\",\n sha256 = \"7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/deranged/0.5.8/download\"],\n strip_prefix = \"deranged-0.5.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.deranged-0.5.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__dispatch2-0.3.1\",\n sha256 = \"1e0e367e4e7da84520dedcac1901e4da967309406d1e51017ae1abfb97adbd38\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/dispatch2/0.3.1/download\"],\n strip_prefix = \"dispatch2-0.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.dispatch2-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__either-1.15.0\",\n sha256 = \"48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/either/1.15.0/download\"],\n strip_prefix = \"either-1.15.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.either-1.15.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__embedded-io-0.4.0\",\n sha256 = \"ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/embedded-io/0.4.0/download\"],\n strip_prefix = \"embedded-io-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__embedded-io-0.6.1\",\n sha256 = \"edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/embedded-io/0.6.1/download\"],\n strip_prefix = \"embedded-io-0.6.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.embedded-io-0.6.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__encode_unicode-1.0.0\",\n sha256 = \"34aa73646ffb006b8f5147f3dc182bd4bcb190227ce861fc4a4844bf8e3cb2c0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/encode_unicode/1.0.0/download\"],\n strip_prefix = \"encode_unicode-1.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.encode_unicode-1.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__enum-iterator-2.3.0\",\n sha256 = \"a4549325971814bda7a44061bf3fe7e487d447cba01e4220a4b454d630d7a016\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/enum-iterator/2.3.0/download\"],\n strip_prefix = \"enum-iterator-2.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__enum-iterator-derive-1.5.0\",\n sha256 = \"685adfa4d6f3d765a26bc5dbc936577de9abf756c1feeb3089b01dd395034842\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/enum-iterator-derive/1.5.0/download\"],\n strip_prefix = \"enum-iterator-derive-1.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.enum-iterator-derive-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__env_filter-1.0.1\",\n sha256 = \"32e90c2accc4b07a8456ea0debdc2e7587bdd890680d71173a15d4ae604f6eef\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/env_filter/1.0.1/download\"],\n strip_prefix = \"env_filter-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.env_filter-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__env_logger-0.11.10\",\n sha256 = \"0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/env_logger/0.11.10/download\"],\n strip_prefix = \"env_logger-0.11.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.env_logger-0.11.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__equivalent-1.0.2\",\n sha256 = \"877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/equivalent/1.0.2/download\"],\n strip_prefix = \"equivalent-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.equivalent-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__errno-0.3.14\",\n sha256 = \"39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/errno/0.3.14/download\"],\n strip_prefix = \"errno-0.3.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.errno-0.3.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__fastrand-2.4.1\",\n sha256 = \"9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fastrand/2.4.1/download\"],\n strip_prefix = \"fastrand-2.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.fastrand-2.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__filedesc-0.6.3\",\n sha256 = \"c4960c866d9cf4c48f64f11ef0020c98900d0cb32e9b019c000ed838470daa1d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/filedesc/0.6.3/download\"],\n strip_prefix = \"filedesc-0.6.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.filedesc-0.6.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__find-msvc-tools-0.1.9\",\n sha256 = \"5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/find-msvc-tools/0.1.9/download\"],\n strip_prefix = \"find-msvc-tools-0.1.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.find-msvc-tools-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__fixedbitset-0.5.7\",\n sha256 = \"1d674e81391d1e1ab681a28d99df07927c6d4aa5b027d7da16ba32d1d21ecd99\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fixedbitset/0.5.7/download\"],\n strip_prefix = \"fixedbitset-0.5.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.fixedbitset-0.5.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__fnv-1.0.7\",\n sha256 = \"3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/fnv/1.0.7/download\"],\n strip_prefix = \"fnv-1.0.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.fnv-1.0.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__foldhash-0.1.5\",\n sha256 = \"d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/foldhash/0.1.5/download\"],\n strip_prefix = \"foldhash-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.foldhash-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-0.3.32\",\n sha256 = \"8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures/0.3.32/download\"],\n strip_prefix = \"futures-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-channel-0.3.32\",\n sha256 = \"07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-channel/0.3.32/download\"],\n strip_prefix = \"futures-channel-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-channel-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-core-0.3.32\",\n sha256 = \"7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-core/0.3.32/download\"],\n strip_prefix = \"futures-core-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-core-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-executor-0.3.32\",\n sha256 = \"baf29c38818342a3b26b5b923639e7b1f4a61fc5e76102d4b1981c6dc7a7579d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-executor/0.3.32/download\"],\n strip_prefix = \"futures-executor-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-executor-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-io-0.3.32\",\n sha256 = \"cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-io/0.3.32/download\"],\n strip_prefix = \"futures-io-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-io-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-macro-0.3.32\",\n sha256 = \"e835b70203e41293343137df5c0664546da5745f82ec9b84d40be8336958447b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-macro/0.3.32/download\"],\n strip_prefix = \"futures-macro-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-macro-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-sink-0.3.32\",\n sha256 = \"c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-sink/0.3.32/download\"],\n strip_prefix = \"futures-sink-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-sink-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-task-0.3.32\",\n sha256 = \"037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-task/0.3.32/download\"],\n strip_prefix = \"futures-task-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-task-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__futures-util-0.3.32\",\n sha256 = \"389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/futures-util/0.3.32/download\"],\n strip_prefix = \"futures-util-0.3.32\",\n build_file = Label(\"@crate_index//crate_index:BUILD.futures-util-0.3.32.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__generator-0.8.8\",\n sha256 = \"52f04ae4152da20c76fe800fa48659201d5cf627c5149ca0b707b69d7eef6cf9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/generator/0.8.8/download\"],\n strip_prefix = \"generator-0.8.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.generator-0.8.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__getrandom-0.3.4\",\n sha256 = \"899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/getrandom/0.3.4/download\"],\n strip_prefix = \"getrandom-0.3.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__getrandom-0.4.2\",\n sha256 = \"0de51e6874e94e7bf76d726fc5d13ba782deca734ff60d5bb2fb2607c7406555\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/getrandom/0.4.2/download\"],\n strip_prefix = \"getrandom-0.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.getrandom-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__glob-0.3.3\",\n sha256 = \"0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/glob/0.3.3/download\"],\n strip_prefix = \"glob-0.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.glob-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__h2-0.4.13\",\n sha256 = \"2f44da3a8150a6703ed5d34e164b875fd14c2cdab9af1252a9a1020bde2bdc54\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/h2/0.4.13/download\"],\n strip_prefix = \"h2-0.4.13\",\n build_file = Label(\"@crate_index//crate_index:BUILD.h2-0.4.13.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hash32-0.2.1\",\n sha256 = \"b0c35f58762feb77d74ebe43bdbc3210f09be9fe6742234d573bacc26ed92b67\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hash32/0.2.1/download\"],\n strip_prefix = \"hash32-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hash32-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hashbrown-0.15.5\",\n sha256 = \"9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.15.5/download\"],\n strip_prefix = \"hashbrown-0.15.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.15.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hashbrown-0.17.0\",\n sha256 = \"4f467dd6dccf739c208452f8014c75c18bb8301b050ad1cfb27153803edb0f51\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hashbrown/0.17.0/download\"],\n strip_prefix = \"hashbrown-0.17.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hashbrown-0.17.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__heapless-0.7.17\",\n sha256 = \"cdc6457c0eb62c71aac4bc17216026d8410337c4126773b9c5daba343f17964f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/heapless/0.7.17/download\"],\n strip_prefix = \"heapless-0.7.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.heapless-0.7.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__heck-0.4.1\",\n sha256 = \"95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/heck/0.4.1/download\"],\n strip_prefix = \"heck-0.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__heck-0.5.0\",\n sha256 = \"2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/heck/0.5.0/download\"],\n strip_prefix = \"heck-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.heck-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__home-0.5.12\",\n sha256 = \"cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/home/0.5.12/download\"],\n strip_prefix = \"home-0.5.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.home-0.5.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__http-1.4.0\",\n sha256 = \"e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/http/1.4.0/download\"],\n strip_prefix = \"http-1.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.http-1.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__http-body-1.0.1\",\n sha256 = \"1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/http-body/1.0.1/download\"],\n strip_prefix = \"http-body-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.http-body-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__http-body-util-0.1.3\",\n sha256 = \"b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/http-body-util/0.1.3/download\"],\n strip_prefix = \"http-body-util-0.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.http-body-util-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__httparse-1.10.1\",\n sha256 = \"6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/httparse/1.10.1/download\"],\n strip_prefix = \"httparse-1.10.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.httparse-1.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__httpdate-1.0.3\",\n sha256 = \"df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/httpdate/1.0.3/download\"],\n strip_prefix = \"httpdate-1.0.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.httpdate-1.0.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__human_bytes-0.4.3\",\n sha256 = \"91f255a4535024abf7640cb288260811fc14794f62b063652ed349f9a6c2348e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/human_bytes/0.4.3/download\"],\n strip_prefix = \"human_bytes-0.4.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.human_bytes-0.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-1.9.0\",\n sha256 = \"6299f016b246a94207e63da54dbe807655bf9e00044f73ded42c3ac5305fbcca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper/1.9.0/download\"],\n strip_prefix = \"hyper-1.9.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-1.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-timeout-0.5.2\",\n sha256 = \"2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper-timeout/0.5.2/download\"],\n strip_prefix = \"hyper-timeout-0.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-timeout-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__hyper-util-0.1.20\",\n sha256 = \"96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/hyper-util/0.1.20/download\"],\n strip_prefix = \"hyper-util-0.1.20\",\n build_file = Label(\"@crate_index//crate_index:BUILD.hyper-util-0.1.20.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-0.5.0\",\n sha256 = \"12c091b5786a230240f8f2691b9d29508ed0a02c025c254abaed8bc788a66bb3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2/0.5.0/download\"],\n strip_prefix = \"iceoryx2-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-container-0.5.0\",\n sha256 = \"fff9d75921f8ccd3e19261d72082b52ccc4704dcdd6930efe6c17b15693ab519\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-container/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-container-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-container-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-container-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/container\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-derive-macros-0.5.0\",\n sha256 = \"9257482fb822946bb3028225b6807350e3f815068961ff5bf683735ce01d59a4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-derive-macros/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-derive-macros-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n patches = [\n \"@@score_crates+//patches:iceoryx2_bb_derive_macros_readme.patch\",\n ],\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-derive-macros-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/derive-macros\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-elementary-0.5.0\",\n sha256 = \"38aae0237ff1575a7d9672c0202e5d313e7f674a635f6aaf619d2090fb7a12c2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-elementary/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-elementary-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/elementary\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-elementary-traits-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/elementary-traits\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-linux-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-linux-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/linux\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-lock-free-0.5.0\",\n sha256 = \"3ec3227a0c8b1d9e1ea4c61fa6a773e7c3b721fa3e2fd4363324f302b35ac85b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-lock-free/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-lock-free-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-lock-free-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/lock-free\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-log-0.5.0\",\n sha256 = \"07df5e6ff06cc2ffb0a86b67c7cd4be86b11264d5e83c02a52b384e2d5e6363a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-log/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-log-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-log-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-log-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/log\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-memory-0.5.0\",\n sha256 = \"55a4ae8856404b6e7eca567004673ca39109fc70fcf387b96ca6d6d27c61f31b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-memory/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-memory-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-memory-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/memory\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-posix-0.5.0\",\n sha256 = \"122ff88c452a3045a9de6db73d0429da736578f76eab75779dd0d3681de75d57\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-posix/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-posix-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-posix-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/posix\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-bb-system-types-0.5.0\",\n sha256 = \"ac2fb11a94823c3b9117a5e14edf16fd467794cf5391738eb2d8b7fc8e9b04fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-bb-system-types/0.5.0/download\"],\n strip_prefix = \"iceoryx2-bb-system-types-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-system-types-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/system-types\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-testing-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/testing\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-bb-threadsafe-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-bb/threadsafe\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-cal-0.5.0\",\n sha256 = \"6c64b8eee1d57c4336d7df7d521671d8b76c72cac16af0db651e40f8c45f0946\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-cal/0.5.0/download\"],\n strip_prefix = \"iceoryx2-cal-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-cal-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-cal-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-cal\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-pal-concurrency-sync-0.5.0\",\n sha256 = \"92dc4ec7c023819c41b5a14c9ca58e8dbb86476053321decda73ac440996f35f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-pal-concurrency-sync/0.5.0/download\"],\n strip_prefix = \"iceoryx2-pal-concurrency-sync-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-concurrency-sync-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-pal/concurrency-sync\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-pal-configuration-0.5.0\",\n sha256 = \"d900aa8f9c5b661a9c5ddfbdc28eb87ac8c32be5375ca9b055b087d1c89c984d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-pal-configuration/0.5.0/download\"],\n strip_prefix = \"iceoryx2-pal-configuration-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-pal-configuration-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-configuration-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-pal/configuration\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-pal-os-api-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-os-api-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-pal/os-api\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__iceoryx2-pal-posix-0.5.0\",\n sha256 = \"5789169791a6274b492561b95543e1c635285cb454d547f78e53cbc1acd9b3f5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/iceoryx2-pal-posix/0.5.0/download\"],\n strip_prefix = \"iceoryx2-pal-posix-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-0.5.0.bazel\"),\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-pal-posix-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n patches = [\n \"@@score_crates+//patches:qnx8_iceoryx2.patch\",\n ],\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-posix-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-pal/posix\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-pal-testing-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-pal-testing-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2-pal/testing\",\n )\n\n maybe(\n new_git_repository,\n name = \"crate_index__iceoryx2-qnx8-0.7.0\",\n commit = \"9f5622f554de48a7a296e1a5a71200b01e35a502\",\n init_submodules = True,\n remote = \"https://github.com/qorix-group/iceoryx2.git\",\n build_file = Label(\"@crate_index//crate_index:BUILD.iceoryx2-qnx8-0.7.0.bazel\"),\n strip_prefix = \"iceoryx2\",\n )\n\n maybe(\n http_archive,\n name = \"crate_index__id-arena-2.3.0\",\n sha256 = \"3d3067d79b975e8844ca9eb072e16b31c3c1c36928edf9c6789548c524d0d954\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/id-arena/2.3.0/download\"],\n strip_prefix = \"id-arena-2.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.id-arena-2.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indexmap-2.14.0\",\n sha256 = \"d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indexmap/2.14.0/download\"],\n strip_prefix = \"indexmap-2.14.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indexmap-2.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indicatif-0.18.4\",\n sha256 = \"25470f23803092da7d239834776d653104d551bc4d7eacaf31e6837854b8e9eb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indicatif/0.18.4/download\"],\n strip_prefix = \"indicatif-0.18.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-0.18.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__indicatif-log-bridge-0.2.3\",\n sha256 = \"63703cf9069b85dbe6fe26e1c5230d013dee99d3559cd3d02ba39e099ef7ab02\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/indicatif-log-bridge/0.2.3/download\"],\n strip_prefix = \"indicatif-log-bridge-0.2.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.indicatif-log-bridge-0.2.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ipc-channel-0.20.2\",\n sha256 = \"f93600b5616c2d075f8af8dbd23c1d69278c5d24e4913d220cbc60b14c95c180\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ipc-channel/0.20.2/download\"],\n strip_prefix = \"ipc-channel-0.20.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ipc-channel-0.20.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__is_terminal_polyfill-1.70.2\",\n sha256 = \"a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download\"],\n strip_prefix = \"is_terminal_polyfill-1.70.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.is_terminal_polyfill-1.70.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__itertools-0.12.1\",\n sha256 = \"ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itertools/0.12.1/download\"],\n strip_prefix = \"itertools-0.12.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__itertools-0.13.0\",\n sha256 = \"413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itertools/0.13.0/download\"],\n strip_prefix = \"itertools-0.13.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.13.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__itertools-0.14.0\",\n sha256 = \"2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itertools/0.14.0/download\"],\n strip_prefix = \"itertools-0.14.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.itertools-0.14.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__itoa-1.0.18\",\n sha256 = \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/itoa/1.0.18/download\"],\n strip_prefix = \"itoa-1.0.18\",\n build_file = Label(\"@crate_index//crate_index:BUILD.itoa-1.0.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__jiff-0.2.24\",\n sha256 = \"f00b5dbd620d61dfdcb6007c9c1f6054ebd75319f163d886a9055cec1155073d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff/0.2.24/download\"],\n strip_prefix = \"jiff-0.2.24\",\n build_file = Label(\"@crate_index//crate_index:BUILD.jiff-0.2.24.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__jiff-static-0.2.24\",\n sha256 = \"e000de030ff8022ea1da3f466fbb0f3a809f5e51ed31f6dd931c35181ad8e6d7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/jiff-static/0.2.24/download\"],\n strip_prefix = \"jiff-static-0.2.24\",\n build_file = Label(\"@crate_index//crate_index:BUILD.jiff-static-0.2.24.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__js-sys-0.3.95\",\n sha256 = \"2964e92d1d9dc3364cae4d718d93f227e3abb088e747d92e0395bfdedf1c12ca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/js-sys/0.3.95/download\"],\n strip_prefix = \"js-sys-0.3.95\",\n build_file = Label(\"@crate_index//crate_index:BUILD.js-sys-0.3.95.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__lazy_static-1.5.0\",\n sha256 = \"bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lazy_static/1.5.0/download\"],\n strip_prefix = \"lazy_static-1.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.lazy_static-1.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__lazycell-1.3.0\",\n sha256 = \"830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lazycell/1.3.0/download\"],\n strip_prefix = \"lazycell-1.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.lazycell-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__leb128fmt-0.1.0\",\n sha256 = \"09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/leb128fmt/0.1.0/download\"],\n strip_prefix = \"leb128fmt-0.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.leb128fmt-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libc-0.2.186\",\n sha256 = \"68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libc/0.2.186/download\"],\n strip_prefix = \"libc-0.2.186\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libc-0.2.186.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__libloading-0.8.9\",\n sha256 = \"d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/libloading/0.8.9/download\"],\n strip_prefix = \"libloading-0.8.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.libloading-0.8.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__linux-raw-sys-0.12.1\",\n sha256 = \"32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linux-raw-sys/0.12.1/download\"],\n strip_prefix = \"linux-raw-sys-0.12.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.12.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__linux-raw-sys-0.4.15\",\n sha256 = \"d26c52dbd32dccf2d10cac7725f8eae5296885fb5703b261f7d0a0739ec807ab\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/linux-raw-sys/0.4.15/download\"],\n strip_prefix = \"linux-raw-sys-0.4.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.linux-raw-sys-0.4.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__lock_api-0.4.14\",\n sha256 = \"224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/lock_api/0.4.14/download\"],\n strip_prefix = \"lock_api-0.4.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.lock_api-0.4.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__log-0.4.29\",\n sha256 = \"5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/log/0.4.29/download\"],\n strip_prefix = \"log-0.4.29\",\n build_file = Label(\"@crate_index//crate_index:BUILD.log-0.4.29.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__loom-0.7.2\",\n sha256 = \"419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/loom/0.7.2/download\"],\n strip_prefix = \"loom-0.7.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.loom-0.7.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__matchers-0.2.0\",\n sha256 = \"d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/matchers/0.2.0/download\"],\n strip_prefix = \"matchers-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.matchers-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__matchit-0.8.4\",\n sha256 = \"47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/matchit/0.8.4/download\"],\n strip_prefix = \"matchit-0.8.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.matchit-0.8.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__memchr-2.8.0\",\n sha256 = \"f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/memchr/2.8.0/download\"],\n strip_prefix = \"memchr-2.8.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.memchr-2.8.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mime-0.3.17\",\n sha256 = \"6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mime/0.3.17/download\"],\n strip_prefix = \"mime-0.3.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mime-0.3.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__minimal-lexical-0.2.1\",\n sha256 = \"68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/minimal-lexical/0.2.1/download\"],\n strip_prefix = \"minimal-lexical-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.minimal-lexical-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__mio-1.2.0\",\n sha256 = \"50b7e5b27aa02a74bac8c3f23f448f8d87ff11f92d3aac1a6ed369ee08cc56c1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/mio/1.2.0/download\"],\n strip_prefix = \"mio-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.mio-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__multimap-0.10.1\",\n sha256 = \"1d87ecb2933e8aeadb3e3a02b828fed80a7528047e68b4f424523a0981a3a084\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/multimap/0.10.1/download\"],\n strip_prefix = \"multimap-0.10.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.multimap-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nix-0.30.1\",\n sha256 = \"74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.30.1/download\"],\n strip_prefix = \"nix-0.30.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.30.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nix-0.31.2\",\n sha256 = \"5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nix/0.31.2/download\"],\n strip_prefix = \"nix-0.31.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nix-0.31.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nom-7.1.3\",\n sha256 = \"d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nom/7.1.3/download\"],\n strip_prefix = \"nom-7.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nom-7.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__nu-ansi-term-0.50.3\",\n sha256 = \"7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/nu-ansi-term/0.50.3/download\"],\n strip_prefix = \"nu-ansi-term-0.50.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.nu-ansi-term-0.50.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__num-conv-0.2.1\",\n sha256 = \"c6673768db2d862beb9b39a78fdcb1a69439615d5794a1be50caa9bc92c81967\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/num-conv/0.2.1/download\"],\n strip_prefix = \"num-conv-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.num-conv-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__objc2-0.6.4\",\n sha256 = \"3a12a8ed07aefc768292f076dc3ac8c48f3781c8f2d5851dd3d98950e8c5a89f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2/0.6.4/download\"],\n strip_prefix = \"objc2-0.6.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.objc2-0.6.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__objc2-encode-4.1.0\",\n sha256 = \"ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/objc2-encode/4.1.0/download\"],\n strip_prefix = \"objc2-encode-4.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.objc2-encode-4.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__once_cell-1.21.4\",\n sha256 = \"9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/once_cell/1.21.4/download\"],\n strip_prefix = \"once_cell-1.21.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.once_cell-1.21.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__once_cell_polyfill-1.70.2\",\n sha256 = \"384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/once_cell_polyfill/1.70.2/download\"],\n strip_prefix = \"once_cell_polyfill-1.70.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.once_cell_polyfill-1.70.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ouroboros-0.18.5\",\n sha256 = \"1e0f050db9c44b97a94723127e6be766ac5c340c48f2c4bb3ffa11713744be59\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ouroboros/0.18.5/download\"],\n strip_prefix = \"ouroboros-0.18.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros-0.18.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ouroboros_macro-0.18.5\",\n sha256 = \"3c7028bdd3d43083f6d8d4d5187680d0d3560d54df4cc9d752005268b41e64d0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ouroboros_macro/0.18.5/download\"],\n strip_prefix = \"ouroboros_macro-0.18.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ouroboros_macro-0.18.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__paste-1.0.15\",\n sha256 = \"57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/paste/1.0.15/download\"],\n strip_prefix = \"paste-1.0.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.paste-1.0.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__percent-encoding-2.3.2\",\n sha256 = \"9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/percent-encoding/2.3.2/download\"],\n strip_prefix = \"percent-encoding-2.3.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.percent-encoding-2.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__petgraph-0.7.1\",\n sha256 = \"3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/petgraph/0.7.1/download\"],\n strip_prefix = \"petgraph-0.7.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.7.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__petgraph-0.8.3\",\n sha256 = \"8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/petgraph/0.8.3/download\"],\n strip_prefix = \"petgraph-0.8.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.petgraph-0.8.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pico-args-0.5.0\",\n sha256 = \"5be167a7af36ee22fe3115051bc51f6e6c7054c9348e28deb4f49bd6f705a315\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pico-args/0.5.0/download\"],\n strip_prefix = \"pico-args-0.5.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pico-args-0.5.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pin-project-1.1.11\",\n sha256 = \"f1749c7ed4bcaf4c3d0a3efc28538844fb29bcdd7d2b67b2be7e20ba861ff517\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-project/1.1.11/download\"],\n strip_prefix = \"pin-project-1.1.11\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-1.1.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pin-project-internal-1.1.11\",\n sha256 = \"d9b20ed30f105399776b9c883e68e536ef602a16ae6f596d2c473591d6ad64c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-project-internal/1.1.11/download\"],\n strip_prefix = \"pin-project-internal-1.1.11\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-internal-1.1.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__pin-project-lite-0.2.17\",\n sha256 = \"a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/pin-project-lite/0.2.17/download\"],\n strip_prefix = \"pin-project-lite-0.2.17\",\n build_file = Label(\"@crate_index//crate_index:BUILD.pin-project-lite-0.2.17.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__portable-atomic-1.13.1\",\n sha256 = \"c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/portable-atomic/1.13.1/download\"],\n strip_prefix = \"portable-atomic-1.13.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-1.13.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__portable-atomic-util-0.2.7\",\n sha256 = \"c2a106d1259c23fac8e543272398ae0e3c0b8d33c88ed73d0cc71b0f1d902618\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/portable-atomic-util/0.2.7/download\"],\n strip_prefix = \"portable-atomic-util-0.2.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.portable-atomic-util-0.2.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__postcard-1.1.3\",\n sha256 = \"6764c3b5dd454e283a30e6dfe78e9b31096d9e32036b5d1eaac7a6119ccb9a24\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/postcard/1.1.3/download\"],\n strip_prefix = \"postcard-1.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.postcard-1.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__postcard-derive-0.2.2\",\n sha256 = \"e0232bd009a197ceec9cc881ba46f727fcd8060a2d8d6a9dde7a69030a6fe2bb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/postcard-derive/0.2.2/download\"],\n strip_prefix = \"postcard-derive-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.postcard-derive-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__powerfmt-0.2.0\",\n sha256 = \"439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/powerfmt/0.2.0/download\"],\n strip_prefix = \"powerfmt-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.powerfmt-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__ppv-lite86-0.2.21\",\n sha256 = \"85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/ppv-lite86/0.2.21/download\"],\n strip_prefix = \"ppv-lite86-0.2.21\",\n build_file = Label(\"@crate_index//crate_index:BUILD.ppv-lite86-0.2.21.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prettyplease-0.2.37\",\n sha256 = \"479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prettyplease/0.2.37/download\"],\n strip_prefix = \"prettyplease-0.2.37\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prettyplease-0.2.37.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__proc-macro2-1.0.106\",\n sha256 = \"8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/proc-macro2/1.0.106/download\"],\n strip_prefix = \"proc-macro2-1.0.106\",\n build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-1.0.106.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__proc-macro2-diagnostics-0.10.1\",\n sha256 = \"af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/proc-macro2-diagnostics/0.10.1/download\"],\n strip_prefix = \"proc-macro2-diagnostics-0.10.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.proc-macro2-diagnostics-0.10.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-0.13.5\",\n sha256 = \"2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost/0.13.5/download\"],\n strip_prefix = \"prost-0.13.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.13.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-0.14.3\",\n sha256 = \"d2ea70524a2f82d518bce41317d0fae74151505651af45faf1ffbd6fd33f0568\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost/0.14.3/download\"],\n strip_prefix = \"prost-0.14.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-0.14.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-build-0.13.5\",\n sha256 = \"be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost-build/0.13.5/download\"],\n strip_prefix = \"prost-build-0.13.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.13.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-build-0.14.3\",\n sha256 = \"343d3bd7056eda839b03204e68deff7d1b13aba7af2b2fd16890697274262ee7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost-build/0.14.3/download\"],\n strip_prefix = \"prost-build-0.14.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-build-0.14.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-derive-0.13.5\",\n sha256 = \"8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost-derive/0.13.5/download\"],\n strip_prefix = \"prost-derive-0.13.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.13.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-derive-0.14.3\",\n sha256 = \"27c6023962132f4b30eb4c172c91ce92d933da334c59c23cddee82358ddafb0b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost-derive/0.14.3/download\"],\n strip_prefix = \"prost-derive-0.14.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-derive-0.14.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-types-0.13.5\",\n sha256 = \"52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost-types/0.13.5/download\"],\n strip_prefix = \"prost-types-0.13.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.13.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__prost-types-0.14.3\",\n sha256 = \"8991c4cbdb8bc5b11f0b074ffe286c30e523de90fee5ba8132f1399f23cb3dd7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/prost-types/0.14.3/download\"],\n strip_prefix = \"prost-types-0.14.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.prost-types-0.14.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__protoc-gen-prost-0.4.0\",\n sha256 = \"77eb17a7657a703f30cb9b7ba4d981e4037b8af2d819ab0077514b0bef537406\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/protoc-gen-prost/0.4.0/download\"],\n strip_prefix = \"protoc-gen-prost-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-prost-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__protoc-gen-tonic-0.4.1\",\n sha256 = \"6ab6a0d73a0914752ed8fd7cc51afe169e28da87be3efef292de5676cc527634\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/protoc-gen-tonic/0.4.1/download\"],\n strip_prefix = \"protoc-gen-tonic-0.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.protoc-gen-tonic-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__quote-1.0.45\",\n sha256 = \"41f2619966050689382d2b44f664f4bc593e129785a36d6ee376ddf37259b924\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/quote/1.0.45/download\"],\n strip_prefix = \"quote-1.0.45\",\n build_file = Label(\"@crate_index//crate_index:BUILD.quote-1.0.45.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__r-efi-5.3.0\",\n sha256 = \"69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/r-efi/5.3.0/download\"],\n strip_prefix = \"r-efi-5.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-5.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__r-efi-6.0.0\",\n sha256 = \"f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/r-efi/6.0.0/download\"],\n strip_prefix = \"r-efi-6.0.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.r-efi-6.0.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand-0.9.4\",\n sha256 = \"44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand/0.9.4/download\"],\n strip_prefix = \"rand-0.9.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand-0.9.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand_chacha-0.9.0\",\n sha256 = \"d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_chacha/0.9.0/download\"],\n strip_prefix = \"rand_chacha-0.9.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand_chacha-0.9.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rand_core-0.9.5\",\n sha256 = \"76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rand_core/0.9.5/download\"],\n strip_prefix = \"rand_core-0.9.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rand_core-0.9.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__regex-1.12.3\",\n sha256 = \"e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex/1.12.3/download\"],\n strip_prefix = \"regex-1.12.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.regex-1.12.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__regex-automata-0.4.14\",\n sha256 = \"6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-automata/0.4.14/download\"],\n strip_prefix = \"regex-automata-0.4.14\",\n build_file = Label(\"@crate_index//crate_index:BUILD.regex-automata-0.4.14.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__regex-syntax-0.8.10\",\n sha256 = \"dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/regex-syntax/0.8.10/download\"],\n strip_prefix = \"regex-syntax-0.8.10\",\n build_file = Label(\"@crate_index//crate_index:BUILD.regex-syntax-0.8.10.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustc-hash-1.1.0\",\n sha256 = \"08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc-hash/1.1.0/download\"],\n strip_prefix = \"rustc-hash-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustc-hash-2.1.2\",\n sha256 = \"94300abf3f1ae2e2b8ffb7b58043de3d399c73fa6f4b73826402a5c457614dbe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc-hash/2.1.2/download\"],\n strip_prefix = \"rustc-hash-2.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustc-hash-2.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustc_version-0.4.1\",\n sha256 = \"cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustc_version/0.4.1/download\"],\n strip_prefix = \"rustc_version-0.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustc_version-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustix-0.38.44\",\n sha256 = \"fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustix/0.38.44/download\"],\n strip_prefix = \"rustix-0.38.44\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustix-0.38.44.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustix-1.1.4\",\n sha256 = \"b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustix/1.1.4/download\"],\n strip_prefix = \"rustix-1.1.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustix-1.1.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__rustversion-1.0.22\",\n sha256 = \"b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/rustversion/1.0.22/download\"],\n strip_prefix = \"rustversion-1.0.22\",\n build_file = Label(\"@crate_index//crate_index:BUILD.rustversion-1.0.22.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__scoped-tls-1.0.1\",\n sha256 = \"e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/scoped-tls/1.0.1/download\"],\n strip_prefix = \"scoped-tls-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.scoped-tls-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__scopeguard-1.2.0\",\n sha256 = \"94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/scopeguard/1.2.0/download\"],\n strip_prefix = \"scopeguard-1.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.scopeguard-1.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__semver-1.0.28\",\n sha256 = \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/semver/1.0.28/download\"],\n strip_prefix = \"semver-1.0.28\",\n build_file = Label(\"@crate_index//crate_index:BUILD.semver-1.0.28.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde-1.0.228\",\n sha256 = \"9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde/1.0.228/download\"],\n strip_prefix = \"serde-1.0.228\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde-1.0.228.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_core-1.0.228\",\n sha256 = \"41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_core/1.0.228/download\"],\n strip_prefix = \"serde_core-1.0.228\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_core-1.0.228.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_derive-1.0.228\",\n sha256 = \"d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_derive/1.0.228/download\"],\n strip_prefix = \"serde_derive-1.0.228\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_derive-1.0.228.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_json-1.0.149\",\n sha256 = \"83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_json/1.0.149/download\"],\n strip_prefix = \"serde_json-1.0.149\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_json-1.0.149.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__serde_spanned-0.6.9\",\n sha256 = \"bf41e0cfaf7226dca15e8197172c295a782857fcb97fad1808a166870dee75a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/serde_spanned/0.6.9/download\"],\n strip_prefix = \"serde_spanned-0.6.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.serde_spanned-0.6.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sha1_smol-1.0.1\",\n sha256 = \"bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sha1_smol/1.0.1/download\"],\n strip_prefix = \"sha1_smol-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sha1_smol-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sharded-slab-0.1.7\",\n sha256 = \"f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sharded-slab/0.1.7/download\"],\n strip_prefix = \"sharded-slab-0.1.7\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sharded-slab-0.1.7.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__shlex-1.3.0\",\n sha256 = \"0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/shlex/1.3.0/download\"],\n strip_prefix = \"shlex-1.3.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.shlex-1.3.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__signal-hook-0.3.18\",\n sha256 = \"d881a16cf4426aa584979d30bd82cb33429027e42122b169753d6ef1085ed6e2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/signal-hook/0.3.18/download\"],\n strip_prefix = \"signal-hook-0.3.18\",\n build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-0.3.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__signal-hook-registry-1.4.8\",\n sha256 = \"c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/signal-hook-registry/1.4.8/download\"],\n strip_prefix = \"signal-hook-registry-1.4.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.signal-hook-registry-1.4.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__slab-0.4.12\",\n sha256 = \"0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/slab/0.4.12/download\"],\n strip_prefix = \"slab-0.4.12\",\n build_file = Label(\"@crate_index//crate_index:BUILD.slab-0.4.12.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__smallvec-1.15.1\",\n sha256 = \"67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/smallvec/1.15.1/download\"],\n strip_prefix = \"smallvec-1.15.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.smallvec-1.15.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__smawk-0.3.2\",\n sha256 = \"b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/smawk/0.3.2/download\"],\n strip_prefix = \"smawk-0.3.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.smawk-0.3.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__socket2-0.6.3\",\n sha256 = \"3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/socket2/0.6.3/download\"],\n strip_prefix = \"socket2-0.6.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.socket2-0.6.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__spin-0.9.8\",\n sha256 = \"6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/spin/0.9.8/download\"],\n strip_prefix = \"spin-0.9.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.spin-0.9.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__stable_deref_trait-1.2.1\",\n sha256 = \"6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/stable_deref_trait/1.2.1/download\"],\n strip_prefix = \"stable_deref_trait-1.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.stable_deref_trait-1.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__static_assertions-1.1.0\",\n sha256 = \"a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/static_assertions/1.1.0/download\"],\n strip_prefix = \"static_assertions-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.static_assertions-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__strsim-0.11.1\",\n sha256 = \"7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/strsim/0.11.1/download\"],\n strip_prefix = \"strsim-0.11.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.strsim-0.11.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__syn-2.0.117\",\n sha256 = \"e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/syn/2.0.117/download\"],\n strip_prefix = \"syn-2.0.117\",\n build_file = Label(\"@crate_index//crate_index:BUILD.syn-2.0.117.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__sync_wrapper-1.0.2\",\n sha256 = \"0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/sync_wrapper/1.0.2/download\"],\n strip_prefix = \"sync_wrapper-1.0.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.sync_wrapper-1.0.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tempfile-3.27.0\",\n sha256 = \"32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tempfile/3.27.0/download\"],\n strip_prefix = \"tempfile-3.27.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tempfile-3.27.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__termsize-0.1.9\",\n sha256 = \"6f11ff5c25c172608d5b85e2fb43ee9a6d683a7f4ab7f96ae07b3d8b590368fd\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/termsize/0.1.9/download\"],\n strip_prefix = \"termsize-0.1.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.termsize-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__textwrap-0.16.2\",\n sha256 = \"c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/textwrap/0.16.2/download\"],\n strip_prefix = \"textwrap-0.16.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.textwrap-0.16.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__thiserror-2.0.18\",\n sha256 = \"4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror/2.0.18/download\"],\n strip_prefix = \"thiserror-2.0.18\",\n build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-2.0.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__thiserror-impl-2.0.18\",\n sha256 = \"ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thiserror-impl/2.0.18/download\"],\n strip_prefix = \"thiserror-impl-2.0.18\",\n build_file = Label(\"@crate_index//crate_index:BUILD.thiserror-impl-2.0.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__thread_local-1.1.9\",\n sha256 = \"f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/thread_local/1.1.9/download\"],\n strip_prefix = \"thread_local-1.1.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.thread_local-1.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-0.3.47\",\n sha256 = \"743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time/0.3.47/download\"],\n strip_prefix = \"time-0.3.47\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-0.3.47.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-core-0.1.8\",\n sha256 = \"7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time-core/0.1.8/download\"],\n strip_prefix = \"time-core-0.1.8\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-core-0.1.8.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__time-macros-0.2.27\",\n sha256 = \"2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/time-macros/0.2.27/download\"],\n strip_prefix = \"time-macros-0.2.27\",\n build_file = Label(\"@crate_index//crate_index:BUILD.time-macros-0.2.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tiny-fn-0.1.9\",\n sha256 = \"9659b108631d1e1cf3e8e489f894bee40bc9d68fd6cc67ec4d4ce9b72d565228\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tiny-fn/0.1.9/download\"],\n strip_prefix = \"tiny-fn-0.1.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tiny-fn-0.1.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tinyjson-2.5.1\",\n sha256 = \"9ab95735ea2c8fd51154d01e39cf13912a78071c2d89abc49a7ef102a7dd725a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tinyjson/2.5.1/download\"],\n strip_prefix = \"tinyjson-2.5.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tinyjson-2.5.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-1.52.1\",\n sha256 = \"b67dee974fe86fd92cc45b7a95fdd2f99a36a6d7b0d431a231178d3d670bbcc6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio/1.52.1/download\"],\n strip_prefix = \"tokio-1.52.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-1.52.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-macros-2.7.0\",\n sha256 = \"385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-macros/2.7.0/download\"],\n strip_prefix = \"tokio-macros-2.7.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-macros-2.7.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-seqpacket-0.8.1\",\n sha256 = \"ab144b76e4ffb1d1a4e8b404073c922a243baebcc580cd75f415ae3ae9e42add\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-seqpacket/0.8.1/download\"],\n strip_prefix = \"tokio-seqpacket-0.8.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-seqpacket-0.8.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-stream-0.1.18\",\n sha256 = \"32da49809aab5c3bc678af03902d4ccddea2a87d028d86392a4b1560c6906c70\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-stream/0.1.18/download\"],\n strip_prefix = \"tokio-stream-0.1.18\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-stream-0.1.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tokio-util-0.7.18\",\n sha256 = \"9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tokio-util/0.7.18/download\"],\n strip_prefix = \"tokio-util-0.7.18\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tokio-util-0.7.18.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml-0.8.23\",\n sha256 = \"dc1beb996b9d83529a9e75c17a1686767d148d70663143c7854d8b4a09ced362\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml/0.8.23/download\"],\n strip_prefix = \"toml-0.8.23\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml-0.8.23.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml_datetime-0.6.11\",\n sha256 = \"22cddaf88f4fbc13c51aebbf5f8eceb5c7c5a9da2ac40a13519eb5b0a0e8f11c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_datetime/0.6.11/download\"],\n strip_prefix = \"toml_datetime-0.6.11\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml_datetime-0.6.11.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml_edit-0.22.27\",\n sha256 = \"41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_edit/0.22.27/download\"],\n strip_prefix = \"toml_edit-0.22.27\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml_edit-0.22.27.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__toml_write-0.1.2\",\n sha256 = \"5d99f8c9a7727884afe522e9bd5edbfc91a3312b36a77b5fb8926e4c31a41801\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/toml_write/0.1.2/download\"],\n strip_prefix = \"toml_write-0.1.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.toml_write-0.1.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tonic-0.14.5\",\n sha256 = \"fec7c61a0695dc1887c1b53952990f3ad2e3a31453e1f49f10e75424943a93ec\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tonic/0.14.5/download\"],\n strip_prefix = \"tonic-0.14.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tonic-0.14.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tonic-build-0.12.3\",\n sha256 = \"9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tonic-build/0.12.3/download\"],\n strip_prefix = \"tonic-build-0.12.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tonic-build-0.12.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tower-0.5.3\",\n sha256 = \"ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tower/0.5.3/download\"],\n strip_prefix = \"tower-0.5.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tower-0.5.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tower-layer-0.3.3\",\n sha256 = \"121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tower-layer/0.3.3/download\"],\n strip_prefix = \"tower-layer-0.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tower-layer-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tower-service-0.3.3\",\n sha256 = \"8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tower-service/0.3.3/download\"],\n strip_prefix = \"tower-service-0.3.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tower-service-0.3.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-0.1.44\",\n sha256 = \"63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing/0.1.44/download\"],\n strip_prefix = \"tracing-0.1.44\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-0.1.44.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-attributes-0.1.31\",\n sha256 = \"7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-attributes/0.1.31/download\"],\n strip_prefix = \"tracing-attributes-0.1.31\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-attributes-0.1.31.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-core-0.1.36\",\n sha256 = \"db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-core/0.1.36/download\"],\n strip_prefix = \"tracing-core-0.1.36\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-core-0.1.36.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-log-0.2.0\",\n sha256 = \"ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-log/0.2.0/download\"],\n strip_prefix = \"tracing-log-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-log-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-serde-0.2.0\",\n sha256 = \"704b1aeb7be0d0a84fc9828cae51dab5970fee5088f83d1dd7ee6f6246fc6ff1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-serde/0.2.0/download\"],\n strip_prefix = \"tracing-serde-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-serde-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__tracing-subscriber-0.3.23\",\n sha256 = \"cb7f578e5945fb242538965c2d0b04418d38ec25c79d160cd279bf0731c8d319\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/tracing-subscriber/0.3.23/download\"],\n strip_prefix = \"tracing-subscriber-0.3.23\",\n build_file = Label(\"@crate_index//crate_index:BUILD.tracing-subscriber-0.3.23.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__try-lock-0.2.5\",\n sha256 = \"e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/try-lock/0.2.5/download\"],\n strip_prefix = \"try-lock-0.2.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.try-lock-0.2.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-ident-1.0.24\",\n sha256 = \"e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-ident/1.0.24/download\"],\n strip_prefix = \"unicode-ident-1.0.24\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-ident-1.0.24.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-linebreak-0.1.5\",\n sha256 = \"3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-linebreak/0.1.5/download\"],\n strip_prefix = \"unicode-linebreak-0.1.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-linebreak-0.1.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-width-0.2.2\",\n sha256 = \"b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-width/0.2.2/download\"],\n strip_prefix = \"unicode-width-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-width-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unicode-xid-0.2.6\",\n sha256 = \"ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unicode-xid/0.2.6/download\"],\n strip_prefix = \"unicode-xid-0.2.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unicode-xid-0.2.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__unit-prefix-0.5.2\",\n sha256 = \"81e544489bf3d8ef66c953931f56617f423cd4b5494be343d9b9d3dda037b9a3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/unit-prefix/0.5.2/download\"],\n strip_prefix = \"unit-prefix-0.5.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.unit-prefix-0.5.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__utf8parse-0.2.2\",\n sha256 = \"06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/utf8parse/0.2.2/download\"],\n strip_prefix = \"utf8parse-0.2.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.utf8parse-0.2.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__uuid-1.23.1\",\n sha256 = \"ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/uuid/1.23.1/download\"],\n strip_prefix = \"uuid-1.23.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.uuid-1.23.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__valuable-0.1.1\",\n sha256 = \"ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/valuable/0.1.1/download\"],\n strip_prefix = \"valuable-0.1.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.valuable-0.1.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__version_check-0.9.5\",\n sha256 = \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/version_check/0.9.5/download\"],\n strip_prefix = \"version_check-0.9.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.version_check-0.9.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__want-0.3.1\",\n sha256 = \"bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/want/0.3.1/download\"],\n strip_prefix = \"want-0.3.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.want-0.3.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasi-0.11.1-wasi-snapshot-preview1\",\n sha256 = \"ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download\"],\n strip_prefix = \"wasi-0.11.1+wasi-snapshot-preview1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasi-0.11.1+wasi-snapshot-preview1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasip2-1.0.3-wasi-0.2.9\",\n sha256 = \"20064672db26d7cdc89c7798c48a0fdfac8213434a1186e5ef29fd560ae223d6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasip2/1.0.3+wasi-0.2.9/download\"],\n strip_prefix = \"wasip2-1.0.3+wasi-0.2.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasip2-1.0.3+wasi-0.2.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasip3-0.4.0-wasi-0.3.0-rc-2026-01-06\",\n sha256 = \"5428f8bf88ea5ddc08faddef2ac4a67e390b88186c703ce6dbd955e1c145aca5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06/download\"],\n strip_prefix = \"wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-0.2.118\",\n sha256 = \"0bf938a0bacb0469e83c1e148908bd7d5a6010354cf4fb73279b7447422e3a89\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen/0.2.118/download\"],\n strip_prefix = \"wasm-bindgen-0.2.118\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-0.2.118.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-macro-0.2.118\",\n sha256 = \"eeff24f84126c0ec2db7a449f0c2ec963c6a49efe0698c4242929da037ca28ed\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-macro/0.2.118/download\"],\n strip_prefix = \"wasm-bindgen-macro-0.2.118\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-0.2.118.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-macro-support-0.2.118\",\n sha256 = \"9d08065faf983b2b80a79fd87d8254c409281cf7de75fc4b773019824196c904\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.118/download\"],\n strip_prefix = \"wasm-bindgen-macro-support-0.2.118\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-macro-support-0.2.118.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-bindgen-shared-0.2.118\",\n sha256 = \"5fd04d9e306f1907bd13c6361b5c6bfc7b3b3c095ed3f8a9246390f8dbdee129\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-bindgen-shared/0.2.118/download\"],\n strip_prefix = \"wasm-bindgen-shared-0.2.118\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-bindgen-shared-0.2.118.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-encoder-0.244.0\",\n sha256 = \"990065f2fe63003fe337b932cfb5e3b80e0b4d0f5ff650e6985b1048f62c8319\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-encoder/0.244.0/download\"],\n strip_prefix = \"wasm-encoder-0.244.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-encoder-0.244.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasm-metadata-0.244.0\",\n sha256 = \"bb0e353e6a2fbdc176932bbaab493762eb1255a7900fe0fea1a2f96c296cc909\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasm-metadata/0.244.0/download\"],\n strip_prefix = \"wasm-metadata-0.244.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasm-metadata-0.244.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wasmparser-0.244.0\",\n sha256 = \"47b807c72e1bac69382b3a6fb3dbe8ea4c0ed87ff5629b8685ae6b9a611028fe\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wasmparser/0.244.0/download\"],\n strip_prefix = \"wasmparser-0.244.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wasmparser-0.244.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__web-time-1.1.0\",\n sha256 = \"5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/web-time/1.1.0/download\"],\n strip_prefix = \"web-time-1.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.web-time-1.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__which-4.4.2\",\n sha256 = \"87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/which/4.4.2/download\"],\n strip_prefix = \"which-4.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.which-4.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-0.3.9\",\n sha256 = \"5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi/0.3.9/download\"],\n strip_prefix = \"winapi-0.3.9\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-0.3.9.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-i686-pc-windows-gnu-0.4.0\",\n sha256 = \"ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download\"],\n strip_prefix = \"winapi-i686-pc-windows-gnu-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winapi-x86_64-pc-windows-gnu-0.4.0\",\n sha256 = \"712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download\"],\n strip_prefix = \"winapi-x86_64-pc-windows-gnu-0.4.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-0.61.3\",\n sha256 = \"9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows/0.61.3/download\"],\n strip_prefix = \"windows-0.61.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-0.61.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-collections-0.2.0\",\n sha256 = \"3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-collections/0.2.0/download\"],\n strip_prefix = \"windows-collections-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-collections-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-core-0.61.2\",\n sha256 = \"c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-core/0.61.2/download\"],\n strip_prefix = \"windows-core-0.61.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-core-0.61.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-future-0.2.1\",\n sha256 = \"fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-future/0.2.1/download\"],\n strip_prefix = \"windows-future-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-future-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-implement-0.60.2\",\n sha256 = \"053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-implement/0.60.2/download\"],\n strip_prefix = \"windows-implement-0.60.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-implement-0.60.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-interface-0.59.3\",\n sha256 = \"3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-interface/0.59.3/download\"],\n strip_prefix = \"windows-interface-0.59.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-interface-0.59.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-link-0.1.3\",\n sha256 = \"5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-link/0.1.3/download\"],\n strip_prefix = \"windows-link-0.1.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.1.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-link-0.2.1\",\n sha256 = \"f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-link/0.2.1/download\"],\n strip_prefix = \"windows-link-0.2.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-link-0.2.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-numerics-0.2.0\",\n sha256 = \"9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-numerics/0.2.0/download\"],\n strip_prefix = \"windows-numerics-0.2.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-numerics-0.2.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-result-0.3.4\",\n sha256 = \"56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-result/0.3.4/download\"],\n strip_prefix = \"windows-result-0.3.4\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.3.4.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-result-0.4.1\",\n sha256 = \"7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-result/0.4.1/download\"],\n strip_prefix = \"windows-result-0.4.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-result-0.4.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-strings-0.4.2\",\n sha256 = \"56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-strings/0.4.2/download\"],\n strip_prefix = \"windows-strings-0.4.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-strings-0.4.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.48.0\",\n sha256 = \"677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.48.0/download\"],\n strip_prefix = \"windows-sys-0.48.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.48.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.59.0\",\n sha256 = \"1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.59.0/download\"],\n strip_prefix = \"windows-sys-0.59.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.59.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-sys-0.61.2\",\n sha256 = \"ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-sys/0.61.2/download\"],\n strip_prefix = \"windows-sys-0.61.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-sys-0.61.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-targets-0.48.5\",\n sha256 = \"9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.48.5/download\"],\n strip_prefix = \"windows-targets-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-targets-0.52.6\",\n sha256 = \"9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-targets/0.52.6/download\"],\n strip_prefix = \"windows-targets-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-targets-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows-threading-0.1.0\",\n sha256 = \"b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows-threading/0.1.0/download\"],\n strip_prefix = \"windows-threading-0.1.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows-threading-0.1.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_gnullvm-0.48.5\",\n sha256 = \"2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_gnullvm-0.52.6\",\n sha256 = \"32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_aarch64_gnullvm-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_msvc-0.48.5\",\n sha256 = \"dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_aarch64_msvc-0.52.6\",\n sha256 = \"09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download\"],\n strip_prefix = \"windows_aarch64_msvc-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_aarch64_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnu-0.48.5\",\n sha256 = \"a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.48.5/download\"],\n strip_prefix = \"windows_i686_gnu-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnu-0.52.6\",\n sha256 = \"8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnu/0.52.6/download\"],\n strip_prefix = \"windows_i686_gnu-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnu-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_gnullvm-0.52.6\",\n sha256 = \"0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_i686_gnullvm-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_msvc-0.48.5\",\n sha256 = \"8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.48.5/download\"],\n strip_prefix = \"windows_i686_msvc-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_i686_msvc-0.52.6\",\n sha256 = \"240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_i686_msvc/0.52.6/download\"],\n strip_prefix = \"windows_i686_msvc-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_i686_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnu-0.48.5\",\n sha256 = \"53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnu-0.52.6\",\n sha256 = \"147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_gnu-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnu-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnullvm-0.48.5\",\n sha256 = \"0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_gnullvm-0.52.6\",\n sha256 = \"24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_gnullvm-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_gnullvm-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_msvc-0.48.5\",\n sha256 = \"ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.48.5\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.48.5.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__windows_x86_64_msvc-0.52.6\",\n sha256 = \"589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download\"],\n strip_prefix = \"windows_x86_64_msvc-0.52.6\",\n build_file = Label(\"@crate_index//crate_index:BUILD.windows_x86_64_msvc-0.52.6.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__winnow-0.7.15\",\n sha256 = \"df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/winnow/0.7.15/download\"],\n strip_prefix = \"winnow-0.7.15\",\n build_file = Label(\"@crate_index//crate_index:BUILD.winnow-0.7.15.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-bindgen-0.51.0\",\n sha256 = \"d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-bindgen/0.51.0/download\"],\n strip_prefix = \"wit-bindgen-0.51.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-0.51.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-bindgen-0.57.1\",\n sha256 = \"1ebf944e87a7c253233ad6766e082e3cd714b5d03812acc24c318f549614536e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-bindgen/0.57.1/download\"],\n strip_prefix = \"wit-bindgen-0.57.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-0.57.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-bindgen-core-0.51.0\",\n sha256 = \"ea61de684c3ea68cb082b7a88508a8b27fcc8b797d738bfc99a82facf1d752dc\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-bindgen-core/0.51.0/download\"],\n strip_prefix = \"wit-bindgen-core-0.51.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-core-0.51.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-bindgen-rust-0.51.0\",\n sha256 = \"b7c566e0f4b284dd6561c786d9cb0142da491f46a9fbed79ea69cdad5db17f21\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-bindgen-rust/0.51.0/download\"],\n strip_prefix = \"wit-bindgen-rust-0.51.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-rust-0.51.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-bindgen-rust-macro-0.51.0\",\n sha256 = \"0c0f9bfd77e6a48eccf51359e3ae77140a7f50b1e2ebfe62422d8afdaffab17a\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-bindgen-rust-macro/0.51.0/download\"],\n strip_prefix = \"wit-bindgen-rust-macro-0.51.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-bindgen-rust-macro-0.51.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-component-0.244.0\",\n sha256 = \"9d66ea20e9553b30172b5e831994e35fbde2d165325bec84fc43dbf6f4eb9cb2\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-component/0.244.0/download\"],\n strip_prefix = \"wit-component-0.244.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-component-0.244.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__wit-parser-0.244.0\",\n sha256 = \"ecc8ac4bc1dc3381b7f59c34f00b67e18f910c2c0f50015669dde7def656a736\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/wit-parser/0.244.0/download\"],\n strip_prefix = \"wit-parser-0.244.0\",\n build_file = Label(\"@crate_index//crate_index:BUILD.wit-parser-0.244.0.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__yansi-1.0.1\",\n sha256 = \"cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/yansi/1.0.1/download\"],\n strip_prefix = \"yansi-1.0.1\",\n build_file = Label(\"@crate_index//crate_index:BUILD.yansi-1.0.1.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zerocopy-0.8.48\",\n sha256 = \"eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerocopy/0.8.48/download\"],\n strip_prefix = \"zerocopy-0.8.48\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-0.8.48.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zerocopy-derive-0.8.48\",\n sha256 = \"70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zerocopy-derive/0.8.48/download\"],\n strip_prefix = \"zerocopy-derive-0.8.48\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zerocopy-derive-0.8.48.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zeroize-1.8.2\",\n sha256 = \"b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zeroize/1.8.2/download\"],\n strip_prefix = \"zeroize-1.8.2\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zeroize-1.8.2.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zeroize_derive-1.4.3\",\n sha256 = \"85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zeroize_derive/1.4.3/download\"],\n strip_prefix = \"zeroize_derive-1.4.3\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zeroize_derive-1.4.3.bazel\"),\n )\n\n maybe(\n http_archive,\n name = \"crate_index__zmij-1.0.21\",\n sha256 = \"b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa\",\n type = \"tar.gz\",\n urls = [\"https://static.crates.io/crates/zmij/1.0.21/download\"],\n strip_prefix = \"zmij-1.0.21\",\n build_file = Label(\"@crate_index//crate_index:BUILD.zmij-1.0.21.bazel\"),\n )\n\n return [\n struct(repo=\"crate_index__adler32-1.2.0\", is_dev_dep = False),\n struct(repo=\"crate_index__anyhow-1.0.102\", is_dev_dep = False),\n struct(repo=\"crate_index__argh-0.1.19\", is_dev_dep = False),\n struct(repo=\"crate_index__arrayvec-0.7.6\", is_dev_dep = False),\n struct(repo=\"crate_index__async-stream-0.3.6\", is_dev_dep = False),\n struct(repo=\"crate_index__bytes-1.11.1\", is_dev_dep = False),\n struct(repo=\"crate_index__cc-1.2.61\", is_dev_dep = False),\n struct(repo=\"crate_index__clap-4.6.1\", is_dev_dep = False),\n struct(repo=\"crate_index__cliclack-0.3.8\", is_dev_dep = False),\n struct(repo=\"crate_index__console-0.16.3\", is_dev_dep = False),\n struct(repo=\"crate_index__ctrlc-3.5.2\", is_dev_dep = False),\n struct(repo=\"crate_index__env_logger-0.11.10\", is_dev_dep = False),\n struct(repo=\"crate_index__futures-0.3.32\", is_dev_dep = False),\n struct(repo=\"crate_index__human_bytes-0.4.3\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-0.5.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-container-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-elementary-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-memory-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-posix-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-system-types-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-testing-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-cal-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__iceoryx2-qnx8-0.7.0\", is_dev_dep = False),\n struct(repo=\"crate_index__indicatif-0.18.4\", is_dev_dep = False),\n struct(repo=\"crate_index__indicatif-log-bridge-0.2.3\", is_dev_dep = False),\n struct(repo=\"crate_index__ipc-channel-0.20.2\", is_dev_dep = False),\n struct(repo=\"crate_index__libc-0.2.186\", is_dev_dep = False),\n struct(repo=\"crate_index__log-0.4.29\", is_dev_dep = False),\n struct(repo=\"crate_index__loom-0.7.2\", is_dev_dep = False),\n struct(repo=\"crate_index__mio-1.2.0\", is_dev_dep = False),\n struct(repo=\"crate_index__nix-0.30.1\", is_dev_dep = False),\n struct(repo=\"crate_index__paste-1.0.15\", is_dev_dep = False),\n struct(repo=\"crate_index__pico-args-0.5.0\", is_dev_dep = False),\n struct(repo=\"crate_index__postcard-1.1.3\", is_dev_dep = False),\n struct(repo=\"crate_index__proc-macro2-1.0.106\", is_dev_dep = False),\n struct(repo=\"crate_index__prost-0.14.3\", is_dev_dep = False),\n struct(repo=\"crate_index__prost-build-0.14.3\", is_dev_dep = False),\n struct(repo=\"crate_index__prost-types-0.14.3\", is_dev_dep = False),\n struct(repo=\"crate_index__protoc-gen-prost-0.4.0\", is_dev_dep = False),\n struct(repo=\"crate_index__protoc-gen-tonic-0.4.1\", is_dev_dep = False),\n struct(repo=\"crate_index__quote-1.0.45\", is_dev_dep = False),\n struct(repo=\"crate_index__rand-0.9.4\", is_dev_dep = False),\n struct(repo=\"crate_index__serde-1.0.228\", is_dev_dep = False),\n struct(repo=\"crate_index__serde_json-1.0.149\", is_dev_dep = False),\n struct(repo=\"crate_index__signal-hook-0.3.18\", is_dev_dep = False),\n struct(repo=\"crate_index__socket2-0.6.3\", is_dev_dep = False),\n struct(repo=\"crate_index__syn-2.0.117\", is_dev_dep = False),\n struct(repo=\"crate_index__tempfile-3.27.0\", is_dev_dep = False),\n struct(repo=\"crate_index__thiserror-2.0.18\", is_dev_dep = False),\n struct(repo=\"crate_index__time-0.3.47\", is_dev_dep = False),\n struct(repo=\"crate_index__tinyjson-2.5.1\", is_dev_dep = False),\n struct(repo=\"crate_index__tokio-1.52.1\", is_dev_dep = False),\n struct(repo=\"crate_index__tokio-seqpacket-0.8.1\", is_dev_dep = False),\n struct(repo=\"crate_index__tokio-util-0.7.18\", is_dev_dep = False),\n struct(repo=\"crate_index__tonic-0.14.5\", is_dev_dep = False),\n struct(repo=\"crate_index__tracing-0.1.44\", is_dev_dep = False),\n struct(repo=\"crate_index__tracing-subscriber-0.3.23\", is_dev_dep = False),\n ]\n" } } }, @@ -4256,7 +3732,7 @@ "https://static.crates.io/crates/adler32/1.2.0/download" ], "strip_prefix": "adler32-1.2.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"adler32\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=adler32\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.2.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"adler32\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=adler32\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.2.0\",\n)\n" } }, "crate_index__aho-corasick-1.1.4": { @@ -4272,7 +3748,7 @@ "https://static.crates.io/crates/aho-corasick/1.1.4/download" ], "strip_prefix": "aho-corasick-1.1.4", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"aho_corasick\",\n deps = [\n \"@crate_index__memchr-2.8.0//:memchr\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"perf-literal\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=aho-corasick\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.4\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"aho_corasick\",\n deps = [\n \"@crate_index__memchr-2.8.0//:memchr\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"perf-literal\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=aho-corasick\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.4\",\n)\n" } }, "crate_index__aliasable-0.1.3": { @@ -4288,7 +3764,7 @@ "https://static.crates.io/crates/aliasable/0.1.3/download" ], "strip_prefix": "aliasable-0.1.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"aliasable\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=aliasable\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"aliasable\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=aliasable\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.3\",\n)\n" } }, "crate_index__anstream-1.0.0": { @@ -4304,7 +3780,7 @@ "https://static.crates.io/crates/anstream/1.0.0/download" ], "strip_prefix": "anstream-1.0.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"anstream\",\n deps = [\n \"@crate_index__anstyle-1.0.14//:anstyle\",\n \"@crate_index__anstyle-parse-1.0.0//:anstyle_parse\",\n \"@crate_index__anstyle-query-1.1.5//:anstyle_query\",\n \"@crate_index__colorchoice-1.0.5//:colorchoice\",\n \"@crate_index__is_terminal_polyfill-1.70.2//:is_terminal_polyfill\",\n \"@crate_index__utf8parse-0.2.2//:utf8parse\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"auto\",\n \"default\",\n \"wincon\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anstream\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"anstream\",\n deps = [\n \"@crate_index__anstyle-1.0.14//:anstyle\",\n \"@crate_index__anstyle-parse-1.0.0//:anstyle_parse\",\n \"@crate_index__anstyle-query-1.1.5//:anstyle_query\",\n \"@crate_index__colorchoice-1.0.5//:colorchoice\",\n \"@crate_index__is_terminal_polyfill-1.70.2//:is_terminal_polyfill\",\n \"@crate_index__utf8parse-0.2.2//:utf8parse\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"auto\",\n \"default\",\n \"wincon\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anstream\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.0\",\n)\n" } }, "crate_index__anstyle-1.0.14": { @@ -4320,7 +3796,7 @@ "https://static.crates.io/crates/anstyle/1.0.14/download" ], "strip_prefix": "anstyle-1.0.14", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"anstyle\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anstyle\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.14\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"anstyle\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anstyle\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.14\",\n)\n" } }, "crate_index__anstyle-parse-1.0.0": { @@ -4336,7 +3812,7 @@ "https://static.crates.io/crates/anstyle-parse/1.0.0/download" ], "strip_prefix": "anstyle-parse-1.0.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"anstyle_parse\",\n deps = [\n \"@crate_index__utf8parse-0.2.2//:utf8parse\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"utf8\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anstyle-parse\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"anstyle_parse\",\n deps = [\n \"@crate_index__utf8parse-0.2.2//:utf8parse\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"utf8\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anstyle-parse\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.0\",\n)\n" } }, "crate_index__anstyle-query-1.1.5": { @@ -4352,7 +3828,7 @@ "https://static.crates.io/crates/anstyle-query/1.1.5/download" ], "strip_prefix": "anstyle-query-1.1.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"anstyle_query\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anstyle-query\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"anstyle_query\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anstyle-query\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.5\",\n)\n" } }, "crate_index__anstyle-wincon-3.0.11": { @@ -4368,7 +3844,7 @@ "https://static.crates.io/crates/anstyle-wincon/3.0.11/download" ], "strip_prefix": "anstyle-wincon-3.0.11", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"anstyle_wincon\",\n deps = [\n \"@crate_index__anstyle-1.0.14//:anstyle\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anstyle-wincon\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"3.0.11\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"anstyle_wincon\",\n deps = [\n \"@crate_index__anstyle-1.0.14//:anstyle\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anstyle-wincon\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"3.0.11\",\n)\n" } }, "crate_index__anyhow-1.0.102": { @@ -4384,7 +3860,7 @@ "https://static.crates.io/crates/anyhow/1.0.102/download" ], "strip_prefix": "anyhow-1.0.102", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"anyhow\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anyhow\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.102\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"anyhow\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anyhow\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.102\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"anyhow\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anyhow\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.102\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"anyhow\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=anyhow\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.102\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__argh-0.1.19": { @@ -4400,7 +3876,7 @@ "https://static.crates.io/crates/argh/0.1.19/download" ], "strip_prefix": "argh-0.1.19", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"argh\",\n deps = [\n \"@crate_index__argh_shared-0.1.19//:argh_shared\",\n ],\n proc_macro_deps = [\n \"@crate_index__argh_derive-0.1.19//:argh_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"help\",\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=argh\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.19\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"argh\",\n deps = [\n \"@crate_index__argh_shared-0.1.19//:argh_shared\",\n ],\n proc_macro_deps = [\n \"@crate_index__argh_derive-0.1.19//:argh_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"help\",\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=argh\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.19\",\n)\n" } }, "crate_index__argh_derive-0.1.19": { @@ -4416,7 +3892,7 @@ "https://static.crates.io/crates/argh_derive/0.1.19/download" ], "strip_prefix": "argh_derive-0.1.19", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"argh_derive\",\n deps = [\n \"@crate_index__argh_shared-0.1.19//:argh_shared\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"help\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=argh_derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.19\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"argh_derive\",\n deps = [\n \"@crate_index__argh_shared-0.1.19//:argh_shared\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"help\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=argh_derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.19\",\n)\n" } }, "crate_index__argh_shared-0.1.19": { @@ -4432,7 +3908,7 @@ "https://static.crates.io/crates/argh_shared/0.1.19/download" ], "strip_prefix": "argh_shared-0.1.19", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"argh_shared\",\n deps = [\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=argh_shared\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.19\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"argh_shared\",\n deps = [\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=argh_shared\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.19\",\n)\n" } }, "crate_index__arrayvec-0.7.6": { @@ -4448,7 +3924,7 @@ "https://static.crates.io/crates/arrayvec/0.7.6/download" ], "strip_prefix": "arrayvec-0.7.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"arrayvec\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=arrayvec\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.6\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"arrayvec\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=arrayvec\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.6\",\n)\n" } }, "crate_index__async-stream-0.3.6": { @@ -4464,7 +3940,7 @@ "https://static.crates.io/crates/async-stream/0.3.6/download" ], "strip_prefix": "async-stream-0.3.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"async_stream\",\n deps = [\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n ],\n proc_macro_deps = [\n \"@crate_index__async-stream-impl-0.3.6//:async_stream_impl\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=async-stream\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.6\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"async_stream\",\n deps = [\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n ],\n proc_macro_deps = [\n \"@crate_index__async-stream-impl-0.3.6//:async_stream_impl\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=async-stream\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.6\",\n)\n" } }, "crate_index__async-stream-impl-0.3.6": { @@ -4480,7 +3956,7 @@ "https://static.crates.io/crates/async-stream-impl/0.3.6/download" ], "strip_prefix": "async-stream-impl-0.3.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"async_stream_impl\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=async-stream-impl\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.6\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"async_stream_impl\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=async-stream-impl\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.6\",\n)\n" } }, "crate_index__async-trait-0.1.89": { @@ -4496,7 +3972,7 @@ "https://static.crates.io/crates/async-trait/0.1.89/download" ], "strip_prefix": "async-trait-0.1.89", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"async_trait\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=async-trait\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.89\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"async_trait\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=async-trait\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.89\",\n)\n" } }, "crate_index__atomic-polyfill-1.0.3": { @@ -4512,7 +3988,7 @@ "https://static.crates.io/crates/atomic-polyfill/1.0.3/download" ], "strip_prefix": "atomic-polyfill-1.0.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"atomic_polyfill\",\n deps = [\n \"@crate_index__atomic-polyfill-1.0.3//:build_script_build\",\n \"@crate_index__critical-section-1.2.0//:critical_section\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=atomic-polyfill\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.3\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"atomic-polyfill\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=atomic-polyfill\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.3\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"atomic_polyfill\",\n deps = [\n \"@crate_index__atomic-polyfill-1.0.3//:build_script_build\",\n \"@crate_index__critical-section-1.2.0//:critical_section\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=atomic-polyfill\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.3\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"atomic-polyfill\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=atomic-polyfill\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.3\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__atomic-waker-1.1.2": { @@ -4528,7 +4004,7 @@ "https://static.crates.io/crates/atomic-waker/1.1.2/download" ], "strip_prefix": "atomic-waker-1.1.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"atomic_waker\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=atomic-waker\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"atomic_waker\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=atomic-waker\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.2\",\n)\n" } }, "crate_index__axum-0.8.9": { @@ -4544,7 +4020,7 @@ "https://static.crates.io/crates/axum/0.8.9/download" ], "strip_prefix": "axum-0.8.9", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"axum\",\n deps = [\n \"@crate_index__axum-core-0.5.6//:axum_core\",\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__futures-util-0.3.32//:futures_util\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__http-body-1.0.1//:http_body\",\n \"@crate_index__http-body-util-0.1.3//:http_body_util\",\n \"@crate_index__itoa-1.0.18//:itoa\",\n \"@crate_index__matchit-0.8.4//:matchit\",\n \"@crate_index__memchr-2.8.0//:memchr\",\n \"@crate_index__mime-0.3.17//:mime\",\n \"@crate_index__percent-encoding-2.3.2//:percent_encoding\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__serde_core-1.0.228//:serde_core\",\n \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n \"@crate_index__tower-0.5.3//:tower\",\n \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n \"@crate_index__tower-service-0.3.3//:tower_service\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=axum\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.9\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"axum\",\n deps = [\n \"@crate_index__axum-core-0.5.6//:axum_core\",\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__futures-util-0.3.32//:futures_util\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__http-body-1.0.1//:http_body\",\n \"@crate_index__http-body-util-0.1.3//:http_body_util\",\n \"@crate_index__itoa-1.0.18//:itoa\",\n \"@crate_index__matchit-0.8.4//:matchit\",\n \"@crate_index__memchr-2.8.0//:memchr\",\n \"@crate_index__mime-0.3.17//:mime\",\n \"@crate_index__percent-encoding-2.3.2//:percent_encoding\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__serde_core-1.0.228//:serde_core\",\n \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n \"@crate_index__tower-0.5.3//:tower\",\n \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n \"@crate_index__tower-service-0.3.3//:tower_service\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=axum\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.9\",\n)\n" } }, "crate_index__axum-core-0.5.6": { @@ -4560,7 +4036,7 @@ "https://static.crates.io/crates/axum-core/0.5.6/download" ], "strip_prefix": "axum-core-0.5.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"axum_core\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__http-body-1.0.1//:http_body\",\n \"@crate_index__http-body-util-0.1.3//:http_body_util\",\n \"@crate_index__mime-0.3.17//:mime\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n \"@crate_index__tower-service-0.3.3//:tower_service\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=axum-core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.6\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"axum_core\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__http-body-1.0.1//:http_body\",\n \"@crate_index__http-body-util-0.1.3//:http_body_util\",\n \"@crate_index__mime-0.3.17//:mime\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n \"@crate_index__tower-service-0.3.3//:tower_service\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=axum-core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.6\",\n)\n" } }, "crate_index__base64-0.22.1": { @@ -4576,7 +4052,7 @@ "https://static.crates.io/crates/base64/0.22.1/download" ], "strip_prefix": "base64-0.22.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"base64\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=base64\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.22.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"base64\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=base64\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.22.1\",\n)\n" } }, "crate_index__bincode-1.3.3": { @@ -4592,7 +4068,7 @@ "https://static.crates.io/crates/bincode/1.3.3/download" ], "strip_prefix": "bincode-1.3.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"bincode\",\n deps = [\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bincode\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.3.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"bincode\",\n deps = [\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bincode\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.3.3\",\n)\n" } }, "crate_index__bindgen-0.69.5": { @@ -4608,7 +4084,7 @@ "https://static.crates.io/crates/bindgen/0.69.5/download" ], "strip_prefix": "bindgen-0.69.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"bindgen\",\n deps = [\n \"@crate_index__bindgen-0.69.5//:build_script_build\",\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__cexpr-0.6.0//:cexpr\",\n \"@crate_index__clang-sys-1.8.1//:clang_sys\",\n \"@crate_index__itertools-0.12.1//:itertools\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n \"@crate_index__lazycell-1.3.0//:lazycell\",\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__regex-1.12.3//:regex\",\n \"@crate_index__rustc-hash-1.1.0//:rustc_hash\",\n \"@crate_index__shlex-1.3.0//:shlex\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__which-4.4.2//:which\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"logging\",\n \"prettyplease\",\n \"runtime\",\n \"which-rustfmt\",\n ],\n crate_root = \"lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.69.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"logging\",\n \"prettyplease\",\n \"runtime\",\n \"which-rustfmt\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n link_deps = [\n \"@crate_index__clang-sys-1.8.1//:clang_sys\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n ],\n edition = \"2018\",\n pkg_name = \"bindgen\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.69.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"bindgen\",\n deps = [\n \"@crate_index__bindgen-0.69.5//:build_script_build\",\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__cexpr-0.6.0//:cexpr\",\n \"@crate_index__clang-sys-1.8.1//:clang_sys\",\n \"@crate_index__itertools-0.12.1//:itertools\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n \"@crate_index__lazycell-1.3.0//:lazycell\",\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__regex-1.12.3//:regex\",\n \"@crate_index__rustc-hash-1.1.0//:rustc_hash\",\n \"@crate_index__shlex-1.3.0//:shlex\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__which-4.4.2//:which\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"logging\",\n \"prettyplease\",\n \"runtime\",\n \"which-rustfmt\",\n ],\n crate_root = \"lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.69.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"logging\",\n \"prettyplease\",\n \"runtime\",\n \"which-rustfmt\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n link_deps = [\n \"@crate_index__clang-sys-1.8.1//:clang_sys\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n ],\n edition = \"2018\",\n pkg_name = \"bindgen\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.69.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__bindgen-0.72.1": { @@ -4624,7 +4100,7 @@ "https://static.crates.io/crates/bindgen/0.72.1/download" ], "strip_prefix": "bindgen-0.72.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"bindgen\",\n deps = [\n \"@crate_index__bindgen-0.72.1//:build_script_build\",\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__cexpr-0.6.0//:cexpr\",\n \"@crate_index__clang-sys-1.8.1//:clang_sys\",\n \"@crate_index__itertools-0.13.0//:itertools\",\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__regex-1.12.3//:regex\",\n \"@crate_index__rustc-hash-2.1.2//:rustc_hash\",\n \"@crate_index__shlex-1.3.0//:shlex\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"logging\",\n \"prettyplease\",\n \"runtime\",\n ],\n crate_root = \"lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.72.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"logging\",\n \"prettyplease\",\n \"runtime\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n link_deps = [\n \"@crate_index__clang-sys-1.8.1//:clang_sys\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n ],\n edition = \"2021\",\n pkg_name = \"bindgen\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.72.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"bindgen\",\n deps = [\n \"@crate_index__bindgen-0.72.1//:build_script_build\",\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__cexpr-0.6.0//:cexpr\",\n \"@crate_index__clang-sys-1.8.1//:clang_sys\",\n \"@crate_index__itertools-0.13.0//:itertools\",\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__regex-1.12.3//:regex\",\n \"@crate_index__rustc-hash-2.1.2//:rustc_hash\",\n \"@crate_index__shlex-1.3.0//:shlex\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"logging\",\n \"prettyplease\",\n \"runtime\",\n ],\n crate_root = \"lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.72.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"logging\",\n \"prettyplease\",\n \"runtime\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n link_deps = [\n \"@crate_index__clang-sys-1.8.1//:clang_sys\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n ],\n edition = \"2021\",\n pkg_name = \"bindgen\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.72.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__bitflags-2.11.1": { @@ -4640,7 +4116,7 @@ "https://static.crates.io/crates/bitflags/2.11.1/download" ], "strip_prefix": "bitflags-2.11.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"bitflags\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"std\", # aarch64-unknown-nto-qnx710\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"std\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bitflags\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.11.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"bitflags\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"std\", # aarch64-unknown-linux-gnu\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"std\", # aarch64-unknown-nto-qnx710\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"std\", # x86_64-pc-nto-qnx710\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"std\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bitflags\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.11.1\",\n)\n" } }, "crate_index__block2-0.6.2": { @@ -4656,7 +4132,7 @@ "https://static.crates.io/crates/block2/0.6.2/download" ], "strip_prefix": "block2-0.6.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"block2\",\n deps = [\n \"@crate_index__objc2-0.6.4//:objc2\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=block2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"block2\",\n deps = [\n \"@crate_index__objc2-0.6.4//:objc2\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=block2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.2\",\n)\n" } }, "crate_index__bumpalo-3.20.2": { @@ -4672,7 +4148,7 @@ "https://static.crates.io/crates/bumpalo/3.20.2/download" ], "strip_prefix": "bumpalo-3.20.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"bumpalo\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bumpalo\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"3.20.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"bumpalo\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bumpalo\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"3.20.2\",\n)\n" } }, "crate_index__byteorder-1.5.0": { @@ -4688,7 +4164,7 @@ "https://static.crates.io/crates/byteorder/1.5.0/download" ], "strip_prefix": "byteorder-1.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"byteorder\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=byteorder\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"byteorder\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=byteorder\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.5.0\",\n)\n" } }, "crate_index__bytes-1.11.1": { @@ -4704,7 +4180,7 @@ "https://static.crates.io/crates/bytes/1.11.1/download" ], "strip_prefix": "bytes-1.11.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"bytes\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bytes\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.11.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"bytes\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=bytes\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.11.1\",\n)\n" } }, "crate_index__cc-1.2.61": { @@ -4720,7 +4196,7 @@ "https://static.crates.io/crates/cc/1.2.61/download" ], "strip_prefix": "cc-1.2.61", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cc\",\n deps = [\n \"@crate_index__find-msvc-tools-0.1.9//:find_msvc_tools\",\n \"@crate_index__shlex-1.3.0//:shlex\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.2.61\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cc\",\n deps = [\n \"@crate_index__find-msvc-tools-0.1.9//:find_msvc_tools\",\n \"@crate_index__shlex-1.3.0//:shlex\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.2.61\",\n)\n" } }, "crate_index__cdr-0.2.4": { @@ -4736,7 +4212,7 @@ "https://static.crates.io/crates/cdr/0.2.4/download" ], "strip_prefix": "cdr-0.2.4", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cdr\",\n deps = [\n \"@crate_index__byteorder-1.5.0//:byteorder\",\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cdr\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.4\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cdr\",\n deps = [\n \"@crate_index__byteorder-1.5.0//:byteorder\",\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cdr\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.4\",\n)\n" } }, "crate_index__cexpr-0.6.0": { @@ -4752,7 +4228,7 @@ "https://static.crates.io/crates/cexpr/0.6.0/download" ], "strip_prefix": "cexpr-0.6.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cexpr\",\n deps = [\n \"@crate_index__nom-7.1.3//:nom\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cexpr\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cexpr\",\n deps = [\n \"@crate_index__nom-7.1.3//:nom\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cexpr\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.0\",\n)\n" } }, "crate_index__cfg-if-1.0.4": { @@ -4768,7 +4244,7 @@ "https://static.crates.io/crates/cfg-if/1.0.4/download" ], "strip_prefix": "cfg-if-1.0.4", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cfg_if\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cfg-if\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.4\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cfg_if\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cfg-if\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.4\",\n)\n" } }, "crate_index__cfg_aliases-0.2.1": { @@ -4784,7 +4260,7 @@ "https://static.crates.io/crates/cfg_aliases/0.2.1/download" ], "strip_prefix": "cfg_aliases-0.2.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cfg_aliases\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cfg_aliases\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cfg_aliases\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cfg_aliases\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.1\",\n)\n" } }, "crate_index__clang-sys-1.8.1": { @@ -4800,7 +4276,7 @@ "https://static.crates.io/crates/clang-sys/1.8.1/download" ], "strip_prefix": "clang-sys-1.8.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"clang_sys\",\n deps = [\n \"@crate_index__clang-sys-1.8.1//:build_script_build\",\n \"@crate_index__glob-0.3.3//:glob\",\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__libloading-0.8.9//:libloading\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"clang_10_0\",\n \"clang_11_0\",\n \"clang_3_5\",\n \"clang_3_6\",\n \"clang_3_7\",\n \"clang_3_8\",\n \"clang_3_9\",\n \"clang_4_0\",\n \"clang_5_0\",\n \"clang_6_0\",\n \"clang_7_0\",\n \"clang_8_0\",\n \"clang_9_0\",\n \"libloading\",\n \"runtime\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=clang-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.8.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"clang_10_0\",\n \"clang_11_0\",\n \"clang_3_5\",\n \"clang_3_6\",\n \"clang_3_7\",\n \"clang_3_8\",\n \"clang_3_9\",\n \"clang_4_0\",\n \"clang_5_0\",\n \"clang_6_0\",\n \"clang_7_0\",\n \"clang_8_0\",\n \"clang_9_0\",\n \"libloading\",\n \"runtime\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__glob-0.3.3//:glob\",\n ],\n edition = \"2021\",\n links = \"clang\",\n pkg_name = \"clang-sys\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=clang-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.8.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"clang_sys\",\n deps = [\n \"@crate_index__clang-sys-1.8.1//:build_script_build\",\n \"@crate_index__glob-0.3.3//:glob\",\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__libloading-0.8.9//:libloading\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"clang_10_0\",\n \"clang_11_0\",\n \"clang_3_5\",\n \"clang_3_6\",\n \"clang_3_7\",\n \"clang_3_8\",\n \"clang_3_9\",\n \"clang_4_0\",\n \"clang_5_0\",\n \"clang_6_0\",\n \"clang_7_0\",\n \"clang_8_0\",\n \"clang_9_0\",\n \"libloading\",\n \"runtime\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=clang-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.8.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"clang_10_0\",\n \"clang_11_0\",\n \"clang_3_5\",\n \"clang_3_6\",\n \"clang_3_7\",\n \"clang_3_8\",\n \"clang_3_9\",\n \"clang_4_0\",\n \"clang_5_0\",\n \"clang_6_0\",\n \"clang_7_0\",\n \"clang_8_0\",\n \"clang_9_0\",\n \"libloading\",\n \"runtime\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__glob-0.3.3//:glob\",\n ],\n edition = \"2021\",\n links = \"clang\",\n pkg_name = \"clang-sys\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=clang-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.8.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__clap-4.6.1": { @@ -4816,7 +4292,7 @@ "https://static.crates.io/crates/clap/4.6.1/download" ], "strip_prefix": "clap-4.6.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"clap\",\n deps = [\n \"@crate_index__clap_builder-4.6.0//:clap_builder\",\n ],\n proc_macro_deps = [\n \"@crate_index__clap_derive-4.6.1//:clap_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"color\",\n \"default\",\n \"derive\",\n \"error-context\",\n \"help\",\n \"std\",\n \"suggestions\",\n \"usage\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=clap\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"4.6.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"clap\",\n deps = [\n \"@crate_index__clap_builder-4.6.0//:clap_builder\",\n ],\n proc_macro_deps = [\n \"@crate_index__clap_derive-4.6.1//:clap_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"color\",\n \"default\",\n \"derive\",\n \"error-context\",\n \"help\",\n \"std\",\n \"suggestions\",\n \"usage\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=clap\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"4.6.1\",\n)\n" } }, "crate_index__clap_builder-4.6.0": { @@ -4832,7 +4308,7 @@ "https://static.crates.io/crates/clap_builder/4.6.0/download" ], "strip_prefix": "clap_builder-4.6.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"clap_builder\",\n deps = [\n \"@crate_index__anstream-1.0.0//:anstream\",\n \"@crate_index__anstyle-1.0.14//:anstyle\",\n \"@crate_index__clap_lex-1.1.0//:clap_lex\",\n \"@crate_index__strsim-0.11.1//:strsim\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"color\",\n \"error-context\",\n \"help\",\n \"std\",\n \"suggestions\",\n \"usage\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=clap_builder\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"4.6.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"clap_builder\",\n deps = [\n \"@crate_index__anstream-1.0.0//:anstream\",\n \"@crate_index__anstyle-1.0.14//:anstyle\",\n \"@crate_index__clap_lex-1.1.0//:clap_lex\",\n \"@crate_index__strsim-0.11.1//:strsim\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"color\",\n \"error-context\",\n \"help\",\n \"std\",\n \"suggestions\",\n \"usage\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=clap_builder\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"4.6.0\",\n)\n" } }, "crate_index__clap_derive-4.6.1": { @@ -4848,7 +4324,7 @@ "https://static.crates.io/crates/clap_derive/4.6.1/download" ], "strip_prefix": "clap_derive-4.6.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"clap_derive\",\n deps = [\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=clap_derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"4.6.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"clap_derive\",\n deps = [\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=clap_derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"4.6.1\",\n)\n" } }, "crate_index__clap_lex-1.1.0": { @@ -4864,7 +4340,23 @@ "https://static.crates.io/crates/clap_lex/1.1.0/download" ], "strip_prefix": "clap_lex-1.1.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"clap_lex\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=clap_lex\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"clap_lex\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=clap_lex\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.0\",\n)\n" + } + }, + "crate_index__cliclack-0.3.8": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "aa510b739c618c679375ea9c5af44ce9f591289546e874ad5910e7ce7df79844", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/cliclack/0.3.8/download" + ], + "strip_prefix": "cliclack-0.3.8", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cliclack\",\n deps = [\n \"@crate_index__console-0.15.11//:console\",\n \"@crate_index__indicatif-0.18.4//:indicatif\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__strsim-0.11.1//:strsim\",\n \"@crate_index__textwrap-0.16.2//:textwrap\",\n \"@crate_index__zeroize-1.8.2//:zeroize\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cliclack\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.8\",\n)\n" } }, "crate_index__cobs-0.3.0": { @@ -4880,7 +4372,7 @@ "https://static.crates.io/crates/cobs/0.3.0/download" ], "strip_prefix": "cobs-0.3.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cobs\",\n deps = [\n \"@crate_index__thiserror-2.0.18//:thiserror\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cobs\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"cobs\",\n deps = [\n \"@crate_index__thiserror-2.0.18//:thiserror\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=cobs\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.0\",\n)\n" } }, "crate_index__colorchoice-1.0.5": { @@ -4896,7 +4388,23 @@ "https://static.crates.io/crates/colorchoice/1.0.5/download" ], "strip_prefix": "colorchoice-1.0.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"colorchoice\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=colorchoice\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"colorchoice\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=colorchoice\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.5\",\n)\n" + } + }, + "crate_index__console-0.15.11": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "054ccb5b10f9f2cbf51eb355ca1d05c2d279ce1804688d0db74b4733a5aeafd8", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/console/0.15.11/download" + ], + "strip_prefix": "console-0.15.11", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"console\",\n deps = [\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__unicode-width-0.2.2//:unicode_width\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"ansi-parsing\",\n \"default\",\n \"unicode-width\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=console\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.15.11\",\n)\n" } }, "crate_index__console-0.16.3": { @@ -4912,7 +4420,7 @@ "https://static.crates.io/crates/console/0.16.3/download" ], "strip_prefix": "console-0.16.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"console\",\n deps = [\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__unicode-width-0.2.2//:unicode_width\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"ansi-parsing\",\n \"default\",\n \"std\",\n \"unicode-width\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=console\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.16.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"console\",\n deps = [\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__unicode-width-0.2.2//:unicode_width\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"ansi-parsing\",\n \"default\",\n \"std\",\n \"unicode-width\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=console\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.16.3\",\n)\n" } }, "crate_index__critical-section-1.2.0": { @@ -4928,7 +4436,7 @@ "https://static.crates.io/crates/critical-section/1.2.0/download" ], "strip_prefix": "critical-section-1.2.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"critical_section\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=critical-section\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.2.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"critical_section\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=critical-section\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.2.0\",\n)\n" } }, "crate_index__crossbeam-channel-0.5.15": { @@ -4944,7 +4452,7 @@ "https://static.crates.io/crates/crossbeam-channel/0.5.15/download" ], "strip_prefix": "crossbeam-channel-0.5.15", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"crossbeam_channel\",\n deps = [\n \"@crate_index__crossbeam-utils-0.8.21//:crossbeam_utils\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=crossbeam-channel\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.15\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"crossbeam_channel\",\n deps = [\n \"@crate_index__crossbeam-utils-0.8.21//:crossbeam_utils\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=crossbeam-channel\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.15\",\n)\n" } }, "crate_index__crossbeam-utils-0.8.21": { @@ -4960,7 +4468,7 @@ "https://static.crates.io/crates/crossbeam-utils/0.8.21/download" ], "strip_prefix": "crossbeam-utils-0.8.21", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"crossbeam_utils\",\n deps = [\n \"@crate_index__crossbeam-utils-0.8.21//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=crossbeam-utils\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.21\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"crossbeam-utils\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=crossbeam-utils\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.8.21\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"crossbeam_utils\",\n deps = [\n \"@crate_index__crossbeam-utils-0.8.21//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=crossbeam-utils\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.21\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"crossbeam-utils\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=crossbeam-utils\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.8.21\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__ctrlc-3.5.2": { @@ -4976,7 +4484,7 @@ "https://static.crates.io/crates/ctrlc/3.5.2/download" ], "strip_prefix": "ctrlc-3.5.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"ctrlc\",\n deps = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__nix-0.31.2//:nix\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__nix-0.31.2//:nix\", # cfg(unix)\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"termination\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=ctrlc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"3.5.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"ctrlc\",\n deps = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__nix-0.31.2//:nix\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__nix-0.31.2//:nix\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__nix-0.31.2//:nix\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__nix-0.31.2//:nix\", # cfg(unix)\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"termination\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=ctrlc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"3.5.2\",\n)\n" } }, "crate_index__deranged-0.5.8": { @@ -4992,7 +4500,7 @@ "https://static.crates.io/crates/deranged/0.5.8/download" ], "strip_prefix": "deranged-0.5.8", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"deranged\",\n deps = [\n \"@crate_index__powerfmt-0.2.0//:powerfmt\",\n \"@crate_index__serde_core-1.0.228//:serde_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"powerfmt\",\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=deranged\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.8\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"deranged\",\n deps = [\n \"@crate_index__powerfmt-0.2.0//:powerfmt\",\n \"@crate_index__serde_core-1.0.228//:serde_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"powerfmt\",\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=deranged\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.8\",\n)\n" } }, "crate_index__dispatch2-0.3.1": { @@ -5008,7 +4516,7 @@ "https://static.crates.io/crates/dispatch2/0.3.1/download" ], "strip_prefix": "dispatch2-0.3.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"dispatch2\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=dispatch2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"dispatch2\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=dispatch2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.1\",\n)\n" } }, "crate_index__either-1.15.0": { @@ -5024,7 +4532,7 @@ "https://static.crates.io/crates/either/1.15.0/download" ], "strip_prefix": "either-1.15.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"either\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"default\", # x86_64-unknown-linux-gnu\n \"std\", # x86_64-unknown-linux-gnu\n \"use_std\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=either\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.15.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"either\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"default\", # aarch64-unknown-linux-gnu\n \"std\", # aarch64-unknown-linux-gnu\n \"use_std\", # aarch64-unknown-linux-gnu\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"default\", # x86_64-unknown-linux-gnu\n \"std\", # x86_64-unknown-linux-gnu\n \"use_std\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=either\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.15.0\",\n)\n" } }, "crate_index__embedded-io-0.4.0": { @@ -5040,7 +4548,7 @@ "https://static.crates.io/crates/embedded-io/0.4.0/download" ], "strip_prefix": "embedded-io-0.4.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"embedded_io\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=embedded-io\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"embedded_io\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=embedded-io\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.0\",\n)\n" } }, "crate_index__embedded-io-0.6.1": { @@ -5056,7 +4564,7 @@ "https://static.crates.io/crates/embedded-io/0.6.1/download" ], "strip_prefix": "embedded-io-0.6.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"embedded_io\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=embedded-io\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"embedded_io\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=embedded-io\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.1\",\n)\n" } }, "crate_index__encode_unicode-1.0.0": { @@ -5072,7 +4580,7 @@ "https://static.crates.io/crates/encode_unicode/1.0.0/download" ], "strip_prefix": "encode_unicode-1.0.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"encode_unicode\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=encode_unicode\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"encode_unicode\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=encode_unicode\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.0\",\n)\n" } }, "crate_index__enum-iterator-2.3.0": { @@ -5088,7 +4596,7 @@ "https://static.crates.io/crates/enum-iterator/2.3.0/download" ], "strip_prefix": "enum-iterator-2.3.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"enum_iterator\",\n proc_macro_deps = [\n \"@crate_index__enum-iterator-derive-1.5.0//:enum_iterator_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=enum-iterator\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.3.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"enum_iterator\",\n proc_macro_deps = [\n \"@crate_index__enum-iterator-derive-1.5.0//:enum_iterator_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=enum-iterator\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.3.0\",\n)\n" } }, "crate_index__enum-iterator-derive-1.5.0": { @@ -5104,7 +4612,7 @@ "https://static.crates.io/crates/enum-iterator-derive/1.5.0/download" ], "strip_prefix": "enum-iterator-derive-1.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"enum_iterator_derive\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=enum-iterator-derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"enum_iterator_derive\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=enum-iterator-derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.5.0\",\n)\n" } }, "crate_index__env_filter-1.0.1": { @@ -5120,7 +4628,7 @@ "https://static.crates.io/crates/env_filter/1.0.1/download" ], "strip_prefix": "env_filter-1.0.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"env_filter\",\n deps = [\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__regex-1.12.3//:regex\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"regex\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=env_filter\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"env_filter\",\n deps = [\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__regex-1.12.3//:regex\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"regex\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=env_filter\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.1\",\n)\n" } }, "crate_index__env_logger-0.11.10": { @@ -5136,7 +4644,7 @@ "https://static.crates.io/crates/env_logger/0.11.10/download" ], "strip_prefix": "env_logger-0.11.10", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"env_logger\",\n deps = [\n \"@crate_index__anstream-1.0.0//:anstream\",\n \"@crate_index__anstyle-1.0.14//:anstyle\",\n \"@crate_index__env_filter-1.0.1//:env_filter\",\n \"@crate_index__jiff-0.2.24//:jiff\",\n \"@crate_index__log-0.4.29//:log\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"auto-color\",\n \"color\",\n \"default\",\n \"humantime\",\n \"regex\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=env_logger\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.11.10\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"env_logger\",\n deps = [\n \"@crate_index__anstream-1.0.0//:anstream\",\n \"@crate_index__anstyle-1.0.14//:anstyle\",\n \"@crate_index__env_filter-1.0.1//:env_filter\",\n \"@crate_index__jiff-0.2.24//:jiff\",\n \"@crate_index__log-0.4.29//:log\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"auto-color\",\n \"color\",\n \"default\",\n \"humantime\",\n \"regex\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=env_logger\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.11.10\",\n)\n" } }, "crate_index__equivalent-1.0.2": { @@ -5152,7 +4660,7 @@ "https://static.crates.io/crates/equivalent/1.0.2/download" ], "strip_prefix": "equivalent-1.0.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"equivalent\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=equivalent\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"equivalent\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=equivalent\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.2\",\n)\n" } }, "crate_index__errno-0.3.14": { @@ -5168,7 +4676,7 @@ "https://static.crates.io/crates/errno/0.3.14/download" ], "strip_prefix": "errno-0.3.14", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"errno\",\n deps = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=errno\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.14\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"errno\",\n deps = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=errno\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.14\",\n)\n" } }, "crate_index__fastrand-2.4.1": { @@ -5184,7 +4692,7 @@ "https://static.crates.io/crates/fastrand/2.4.1/download" ], "strip_prefix": "fastrand-2.4.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"fastrand\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=fastrand\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.4.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"fastrand\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=fastrand\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.4.1\",\n)\n" } }, "crate_index__filedesc-0.6.3": { @@ -5200,7 +4708,7 @@ "https://static.crates.io/crates/filedesc/0.6.3/download" ], "strip_prefix": "filedesc-0.6.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"filedesc\",\n deps = [\n \"@crate_index__libc-0.2.186//:libc\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=filedesc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"filedesc\",\n deps = [\n \"@crate_index__libc-0.2.186//:libc\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=filedesc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.3\",\n)\n" } }, "crate_index__find-msvc-tools-0.1.9": { @@ -5216,7 +4724,7 @@ "https://static.crates.io/crates/find-msvc-tools/0.1.9/download" ], "strip_prefix": "find-msvc-tools-0.1.9", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"find_msvc_tools\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=find-msvc-tools\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.9\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"find_msvc_tools\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=find-msvc-tools\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.9\",\n)\n" } }, "crate_index__fixedbitset-0.5.7": { @@ -5232,7 +4740,7 @@ "https://static.crates.io/crates/fixedbitset/0.5.7/download" ], "strip_prefix": "fixedbitset-0.5.7", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"fixedbitset\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=fixedbitset\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.7\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"fixedbitset\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=fixedbitset\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.7\",\n)\n" } }, "crate_index__fnv-1.0.7": { @@ -5248,7 +4756,7 @@ "https://static.crates.io/crates/fnv/1.0.7/download" ], "strip_prefix": "fnv-1.0.7", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"fnv\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=fnv\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.7\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"fnv\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=fnv\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.7\",\n)\n" } }, "crate_index__foldhash-0.1.5": { @@ -5264,7 +4772,7 @@ "https://static.crates.io/crates/foldhash/0.1.5/download" ], "strip_prefix": "foldhash-0.1.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"foldhash\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=foldhash\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"foldhash\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=foldhash\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.5\",\n)\n" } }, "crate_index__futures-0.3.32": { @@ -5280,7 +4788,7 @@ "https://static.crates.io/crates/futures/0.3.32/download" ], "strip_prefix": "futures-0.3.32", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures\",\n deps = [\n \"@crate_index__futures-channel-0.3.32//:futures_channel\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-executor-0.3.32//:futures_executor\",\n \"@crate_index__futures-io-0.3.32//:futures_io\",\n \"@crate_index__futures-sink-0.3.32//:futures_sink\",\n \"@crate_index__futures-task-0.3.32//:futures_task\",\n \"@crate_index__futures-util-0.3.32//:futures_util\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"async-await\",\n \"default\",\n \"executor\",\n \"futures-executor\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures\",\n deps = [\n \"@crate_index__futures-channel-0.3.32//:futures_channel\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-executor-0.3.32//:futures_executor\",\n \"@crate_index__futures-io-0.3.32//:futures_io\",\n \"@crate_index__futures-sink-0.3.32//:futures_sink\",\n \"@crate_index__futures-task-0.3.32//:futures_task\",\n \"@crate_index__futures-util-0.3.32//:futures_util\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"async-await\",\n \"default\",\n \"executor\",\n \"futures-executor\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" } }, "crate_index__futures-channel-0.3.32": { @@ -5296,7 +4804,7 @@ "https://static.crates.io/crates/futures-channel/0.3.32/download" ], "strip_prefix": "futures-channel-0.3.32", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_channel\",\n deps = [\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-sink-0.3.32//:futures_sink\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"futures-sink\",\n \"sink\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-channel\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_channel\",\n deps = [\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-sink-0.3.32//:futures_sink\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"futures-sink\",\n \"sink\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-channel\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" } }, "crate_index__futures-core-0.3.32": { @@ -5312,7 +4820,7 @@ "https://static.crates.io/crates/futures-core/0.3.32/download" ], "strip_prefix": "futures-core-0.3.32", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_core\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_core\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" } }, "crate_index__futures-executor-0.3.32": { @@ -5328,7 +4836,7 @@ "https://static.crates.io/crates/futures-executor/0.3.32/download" ], "strip_prefix": "futures-executor-0.3.32", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_executor\",\n deps = [\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-task-0.3.32//:futures_task\",\n \"@crate_index__futures-util-0.3.32//:futures_util\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-executor\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_executor\",\n deps = [\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-task-0.3.32//:futures_task\",\n \"@crate_index__futures-util-0.3.32//:futures_util\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-executor\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" } }, "crate_index__futures-io-0.3.32": { @@ -5344,7 +4852,7 @@ "https://static.crates.io/crates/futures-io/0.3.32/download" ], "strip_prefix": "futures-io-0.3.32", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_io\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-io\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_io\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-io\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" } }, "crate_index__futures-macro-0.3.32": { @@ -5360,7 +4868,7 @@ "https://static.crates.io/crates/futures-macro/0.3.32/download" ], "strip_prefix": "futures-macro-0.3.32", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"futures_macro\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-macro\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"futures_macro\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-macro\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" } }, "crate_index__futures-sink-0.3.32": { @@ -5376,7 +4884,7 @@ "https://static.crates.io/crates/futures-sink/0.3.32/download" ], "strip_prefix": "futures-sink-0.3.32", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_sink\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-sink\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_sink\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-sink\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" } }, "crate_index__futures-task-0.3.32": { @@ -5392,7 +4900,7 @@ "https://static.crates.io/crates/futures-task/0.3.32/download" ], "strip_prefix": "futures-task-0.3.32", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_task\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-task\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_task\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-task\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" } }, "crate_index__futures-util-0.3.32": { @@ -5408,7 +4916,23 @@ "https://static.crates.io/crates/futures-util/0.3.32/download" ], "strip_prefix": "futures-util-0.3.32", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_util\",\n deps = [\n \"@crate_index__futures-channel-0.3.32//:futures_channel\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-io-0.3.32//:futures_io\",\n \"@crate_index__futures-sink-0.3.32//:futures_sink\",\n \"@crate_index__futures-task-0.3.32//:futures_task\",\n \"@crate_index__memchr-2.8.0//:memchr\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__slab-0.4.12//:slab\",\n ],\n proc_macro_deps = [\n \"@crate_index__futures-macro-0.3.32//:futures_macro\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"async-await\",\n \"async-await-macro\",\n \"channel\",\n \"futures-channel\",\n \"futures-io\",\n \"futures-macro\",\n \"futures-sink\",\n \"io\",\n \"memchr\",\n \"sink\",\n \"slab\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-util\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"futures_util\",\n deps = [\n \"@crate_index__futures-channel-0.3.32//:futures_channel\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-io-0.3.32//:futures_io\",\n \"@crate_index__futures-sink-0.3.32//:futures_sink\",\n \"@crate_index__futures-task-0.3.32//:futures_task\",\n \"@crate_index__memchr-2.8.0//:memchr\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__slab-0.4.12//:slab\",\n ],\n proc_macro_deps = [\n \"@crate_index__futures-macro-0.3.32//:futures_macro\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"async-await\",\n \"async-await-macro\",\n \"channel\",\n \"futures-channel\",\n \"futures-io\",\n \"futures-macro\",\n \"futures-sink\",\n \"io\",\n \"memchr\",\n \"sink\",\n \"slab\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=futures-util\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.32\",\n)\n" + } + }, + "crate_index__generator-0.8.8": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "52f04ae4152da20c76fe800fa48659201d5cf627c5149ca0b707b69d7eef6cf9", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/generator/0.8.8/download" + ], + "strip_prefix": "generator-0.8.8", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"generator\",\n deps = [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n \"@crate_index__generator-0.8.8//:build_script_build\",\n \"@crate_index__log-0.4.29//:log\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=generator\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.8\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__cc-1.2.61//:cc\",\n ],\n edition = \"2021\",\n pkg_name = \"generator\",\n proc_macro_deps = [\n \"@crate_index__rustversion-1.0.22//:rustversion\",\n ],\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=generator\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.8.8\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__getrandom-0.3.4": { @@ -5424,7 +4948,7 @@ "https://static.crates.io/crates/getrandom/0.3.4/download" ], "strip_prefix": "getrandom-0.3.4", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"getrandom\",\n deps = [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n \"@crate_index__getrandom-0.3.4//:build_script_build\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(all(target_os = \"linux\", target_env = \"\"), getrandom_backend = \"custom\", getrandom_backend = \"linux_raw\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=getrandom\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.4\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"getrandom\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=getrandom\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.3.4\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"getrandom\",\n deps = [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n \"@crate_index__getrandom-0.3.4//:build_script_build\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(all(target_os = \"linux\", target_env = \"\"), getrandom_backend = \"custom\", getrandom_backend = \"linux_raw\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(all(target_os = \"linux\", target_env = \"\"), getrandom_backend = \"custom\", getrandom_backend = \"linux_raw\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=getrandom\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.4\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"getrandom\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=getrandom\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.3.4\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__getrandom-0.4.2": { @@ -5440,7 +4964,7 @@ "https://static.crates.io/crates/getrandom/0.4.2/download" ], "strip_prefix": "getrandom-0.4.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"getrandom\",\n deps = [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n \"@crate_index__getrandom-0.4.2//:build_script_build\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(all(target_os = \"linux\", target_env = \"\"), getrandom_backend = \"custom\", getrandom_backend = \"linux_raw\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=getrandom\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.2\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2024\",\n pkg_name = \"getrandom\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=getrandom\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.4.2\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"getrandom\",\n deps = [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n \"@crate_index__getrandom-0.4.2//:build_script_build\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(all(target_os = \"linux\", target_env = \"\"), getrandom_backend = \"custom\", getrandom_backend = \"linux_raw\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(target_os = \"haiku\", target_os = \"redox\", target_os = \"nto\", target_os = \"aix\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(any(target_os = \"linux\", target_os = \"android\"), not(any(all(target_os = \"linux\", target_env = \"\"), getrandom_backend = \"custom\", getrandom_backend = \"linux_raw\", getrandom_backend = \"rdrand\", getrandom_backend = \"rndr\"))))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=getrandom\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.2\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2024\",\n pkg_name = \"getrandom\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=getrandom\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.4.2\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__glob-0.3.3": { @@ -5456,7 +4980,7 @@ "https://static.crates.io/crates/glob/0.3.3/download" ], "strip_prefix": "glob-0.3.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"glob\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=glob\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"glob\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=glob\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.3\",\n)\n" } }, "crate_index__h2-0.4.13": { @@ -5472,7 +4996,7 @@ "https://static.crates.io/crates/h2/0.4.13/download" ], "strip_prefix": "h2-0.4.13", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"h2\",\n deps = [\n \"@crate_index__atomic-waker-1.1.2//:atomic_waker\",\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__fnv-1.0.7//:fnv\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-sink-0.3.32//:futures_sink\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__slab-0.4.12//:slab\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n \"@crate_index__tokio-util-0.7.18//:tokio_util\",\n \"@crate_index__tracing-0.1.44//:tracing\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=h2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.13\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"h2\",\n deps = [\n \"@crate_index__atomic-waker-1.1.2//:atomic_waker\",\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__fnv-1.0.7//:fnv\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-sink-0.3.32//:futures_sink\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__slab-0.4.12//:slab\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n \"@crate_index__tokio-util-0.7.18//:tokio_util\",\n \"@crate_index__tracing-0.1.44//:tracing\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=h2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.13\",\n)\n" } }, "crate_index__hash32-0.2.1": { @@ -5488,7 +5012,7 @@ "https://static.crates.io/crates/hash32/0.2.1/download" ], "strip_prefix": "hash32-0.2.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hash32\",\n deps = [\n \"@crate_index__byteorder-1.5.0//:byteorder\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hash32\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hash32\",\n deps = [\n \"@crate_index__byteorder-1.5.0//:byteorder\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hash32\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.1\",\n)\n" } }, "crate_index__hashbrown-0.15.5": { @@ -5504,7 +5028,7 @@ "https://static.crates.io/crates/hashbrown/0.15.5/download" ], "strip_prefix": "hashbrown-0.15.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hashbrown\",\n deps = [\n \"@crate_index__foldhash-0.1.5//:foldhash\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default-hasher\",\n \"inline-more\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hashbrown\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.15.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hashbrown\",\n deps = [\n \"@crate_index__foldhash-0.1.5//:foldhash\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default-hasher\",\n \"inline-more\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hashbrown\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.15.5\",\n)\n" } }, "crate_index__hashbrown-0.17.0": { @@ -5520,7 +5044,7 @@ "https://static.crates.io/crates/hashbrown/0.17.0/download" ], "strip_prefix": "hashbrown-0.17.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hashbrown\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hashbrown\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.17.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hashbrown\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hashbrown\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.17.0\",\n)\n" } }, "crate_index__heapless-0.7.17": { @@ -5536,7 +5060,7 @@ "https://static.crates.io/crates/heapless/0.7.17/download" ], "strip_prefix": "heapless-0.7.17", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"heapless\",\n deps = [\n \"@crate_index__hash32-0.2.1//:hash32\",\n \"@crate_index__heapless-0.7.17//:build_script_build\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__stable_deref_trait-1.2.1//:stable_deref_trait\",\n ] + select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__spin-0.9.8//:spin\", # cfg(target_arch = \"x86_64\")\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [\n \"@crate_index__spin-0.9.8//:spin\", # cfg(target_arch = \"x86_64\")\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"atomic-polyfill\",\n \"cas\",\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=heapless\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.17\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"atomic-polyfill\",\n \"cas\",\n \"serde\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__rustc_version-0.4.1//:rustc_version\",\n ],\n edition = \"2018\",\n pkg_name = \"heapless\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=heapless\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.7.17\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"heapless\",\n deps = [\n \"@crate_index__hash32-0.2.1//:hash32\",\n \"@crate_index__heapless-0.7.17//:build_script_build\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__stable_deref_trait-1.2.1//:stable_deref_trait\",\n ] + select({\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__spin-0.9.8//:spin\", # cfg(target_arch = \"x86_64\")\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__spin-0.9.8//:spin\", # cfg(target_arch = \"x86_64\")\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [\n \"@crate_index__spin-0.9.8//:spin\", # cfg(target_arch = \"x86_64\")\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"atomic-polyfill\",\n \"cas\",\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=heapless\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.17\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"atomic-polyfill\",\n \"cas\",\n \"serde\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__rustc_version-0.4.1//:rustc_version\",\n ],\n edition = \"2018\",\n pkg_name = \"heapless\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=heapless\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.7.17\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__heck-0.4.1": { @@ -5552,7 +5076,7 @@ "https://static.crates.io/crates/heck/0.4.1/download" ], "strip_prefix": "heck-0.4.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"heck\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=heck\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"heck\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=heck\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.1\",\n)\n" } }, "crate_index__heck-0.5.0": { @@ -5568,7 +5092,7 @@ "https://static.crates.io/crates/heck/0.5.0/download" ], "strip_prefix": "heck-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"heck\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=heck\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"heck\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=heck\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__home-0.5.12": { @@ -5584,7 +5108,7 @@ "https://static.crates.io/crates/home/0.5.12/download" ], "strip_prefix": "home-0.5.12", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"home\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=home\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.12\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"home\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=home\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.12\",\n)\n" } }, "crate_index__http-1.4.0": { @@ -5600,7 +5124,7 @@ "https://static.crates.io/crates/http/1.4.0/download" ], "strip_prefix": "http-1.4.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"http\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__itoa-1.0.18//:itoa\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=http\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.4.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"http\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__itoa-1.0.18//:itoa\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=http\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.4.0\",\n)\n" } }, "crate_index__http-body-1.0.1": { @@ -5616,7 +5140,7 @@ "https://static.crates.io/crates/http-body/1.0.1/download" ], "strip_prefix": "http-body-1.0.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"http_body\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__http-1.4.0//:http\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=http-body\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"http_body\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__http-1.4.0//:http\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=http-body\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.1\",\n)\n" } }, "crate_index__http-body-util-0.1.3": { @@ -5632,7 +5156,7 @@ "https://static.crates.io/crates/http-body-util/0.1.3/download" ], "strip_prefix": "http-body-util-0.1.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"http_body_util\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__http-body-1.0.1//:http_body\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=http-body-util\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"http_body_util\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__http-body-1.0.1//:http_body\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=http-body-util\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.3\",\n)\n" } }, "crate_index__httparse-1.10.1": { @@ -5648,7 +5172,7 @@ "https://static.crates.io/crates/httparse/1.10.1/download" ], "strip_prefix": "httparse-1.10.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"httparse\",\n deps = [\n \"@crate_index__httparse-1.10.1//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=httparse\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.10.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"httparse\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=httparse\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.10.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"httparse\",\n deps = [\n \"@crate_index__httparse-1.10.1//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=httparse\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.10.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"httparse\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=httparse\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.10.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__httpdate-1.0.3": { @@ -5664,7 +5188,7 @@ "https://static.crates.io/crates/httpdate/1.0.3/download" ], "strip_prefix": "httpdate-1.0.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"httpdate\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=httpdate\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"httpdate\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=httpdate\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.3\",\n)\n" } }, "crate_index__human_bytes-0.4.3": { @@ -5680,7 +5204,7 @@ "https://static.crates.io/crates/human_bytes/0.4.3/download" ], "strip_prefix": "human_bytes-0.4.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"human_bytes\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"si-units\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=human_bytes\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"human_bytes\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"si-units\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=human_bytes\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.3\",\n)\n" } }, "crate_index__hyper-1.9.0": { @@ -5696,7 +5220,7 @@ "https://static.crates.io/crates/hyper/1.9.0/download" ], "strip_prefix": "hyper-1.9.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hyper\",\n deps = [\n \"@crate_index__atomic-waker-1.1.2//:atomic_waker\",\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__futures-channel-0.3.32//:futures_channel\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__h2-0.4.13//:h2\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__http-body-1.0.1//:http_body\",\n \"@crate_index__httparse-1.10.1//:httparse\",\n \"@crate_index__httpdate-1.0.3//:httpdate\",\n \"@crate_index__itoa-1.0.18//:itoa\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__smallvec-1.15.1//:smallvec\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n \"@crate_index__want-0.3.1//:want\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"client\",\n \"default\",\n \"http1\",\n \"http2\",\n \"server\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hyper\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.9.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hyper\",\n deps = [\n \"@crate_index__atomic-waker-1.1.2//:atomic_waker\",\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__futures-channel-0.3.32//:futures_channel\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__h2-0.4.13//:h2\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__http-body-1.0.1//:http_body\",\n \"@crate_index__httparse-1.10.1//:httparse\",\n \"@crate_index__httpdate-1.0.3//:httpdate\",\n \"@crate_index__itoa-1.0.18//:itoa\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__smallvec-1.15.1//:smallvec\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n \"@crate_index__want-0.3.1//:want\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"client\",\n \"default\",\n \"http1\",\n \"http2\",\n \"server\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hyper\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.9.0\",\n)\n" } }, "crate_index__hyper-timeout-0.5.2": { @@ -5712,7 +5236,7 @@ "https://static.crates.io/crates/hyper-timeout/0.5.2/download" ], "strip_prefix": "hyper-timeout-0.5.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hyper_timeout\",\n deps = [\n \"@crate_index__hyper-1.9.0//:hyper\",\n \"@crate_index__hyper-util-0.1.20//:hyper_util\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n \"@crate_index__tower-service-0.3.3//:tower_service\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hyper-timeout\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hyper_timeout\",\n deps = [\n \"@crate_index__hyper-1.9.0//:hyper\",\n \"@crate_index__hyper-util-0.1.20//:hyper_util\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n \"@crate_index__tower-service-0.3.3//:tower_service\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hyper-timeout\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.2\",\n)\n" } }, "crate_index__hyper-util-0.1.20": { @@ -5728,7 +5252,7 @@ "https://static.crates.io/crates/hyper-util/0.1.20/download" ], "strip_prefix": "hyper-util-0.1.20", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hyper_util\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__futures-channel-0.3.32//:futures_channel\",\n \"@crate_index__futures-util-0.3.32//:futures_util\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__http-body-1.0.1//:http_body\",\n \"@crate_index__hyper-1.9.0//:hyper\",\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__socket2-0.6.3//:socket2\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n \"@crate_index__tower-service-0.3.3//:tower_service\",\n \"@crate_index__tracing-0.1.44//:tracing\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"client\",\n \"client-legacy\",\n \"default\",\n \"http1\",\n \"http2\",\n \"server\",\n \"server-auto\",\n \"service\",\n \"tokio\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hyper-util\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.20\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"hyper_util\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__futures-channel-0.3.32//:futures_channel\",\n \"@crate_index__futures-util-0.3.32//:futures_util\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__http-body-1.0.1//:http_body\",\n \"@crate_index__hyper-1.9.0//:hyper\",\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__socket2-0.6.3//:socket2\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n \"@crate_index__tower-service-0.3.3//:tower_service\",\n \"@crate_index__tracing-0.1.44//:tracing\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"client\",\n \"client-legacy\",\n \"default\",\n \"http1\",\n \"http2\",\n \"server\",\n \"server-auto\",\n \"service\",\n \"tokio\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=hyper-util\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.20\",\n)\n" } }, "crate_index__iceoryx2-0.5.0": { @@ -5744,7 +5268,7 @@ "https://static.crates.io/crates/iceoryx2/0.5.0/download" ], "strip_prefix": "iceoryx2-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2\",\n deps = [\n \"@crate_index__cdr-0.2.4//:cdr\",\n \"@crate_index__iceoryx2-bb-container-0.5.0//:iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-lock-free-0.5.0//:iceoryx2_bb_lock_free\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-memory-0.5.0//:iceoryx2_bb_memory\",\n \"@crate_index__iceoryx2-bb-posix-0.5.0//:iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-bb-system-types-0.5.0//:iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-cal-0.5.0//:iceoryx2_cal\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__sha1_smol-1.0.1//:sha1_smol\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n \"@crate_index__toml-0.8.23//:toml\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-0.5.0//:iceoryx2_bb_derive_macros\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2\",\n deps = [\n \"@crate_index__cdr-0.2.4//:cdr\",\n \"@crate_index__iceoryx2-bb-container-0.5.0//:iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-lock-free-0.5.0//:iceoryx2_bb_lock_free\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-memory-0.5.0//:iceoryx2_bb_memory\",\n \"@crate_index__iceoryx2-bb-posix-0.5.0//:iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-bb-system-types-0.5.0//:iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-cal-0.5.0//:iceoryx2_cal\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__sha1_smol-1.0.1//:sha1_smol\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n \"@crate_index__toml-0.8.23//:toml\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-0.5.0//:iceoryx2_bb_derive_macros\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__iceoryx2-bb-container-0.5.0": { @@ -5760,7 +5284,7 @@ "https://static.crates.io/crates/iceoryx2-bb-container/0.5.0/download" ], "strip_prefix": "iceoryx2-bb-container-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_container\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-0.5.0//:iceoryx2_bb_derive_macros\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-container\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_container\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-0.5.0//:iceoryx2_bb_derive_macros\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-container\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__iceoryx2-bb-container-qnx8-0.7.0": { @@ -5772,9 +5296,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_container_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\": \"iceoryx2_bb_derive_macros\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-container-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_container_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\": \"iceoryx2_bb_derive_macros\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-container-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-bb/container", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-bb-derive-macros-0.5.0": { @@ -5790,7 +5314,7 @@ "https://static.crates.io/crates/iceoryx2-bb-derive-macros/0.5.0/download" ], "strip_prefix": "iceoryx2-bb-derive-macros-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"iceoryx2_bb_derive_macros\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-derive-macros\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"iceoryx2_bb_derive_macros\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-derive-macros\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0": { @@ -5804,9 +5328,9 @@ ], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"iceoryx2_bb_derive_macros_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-derive-macros-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"iceoryx2_bb_derive_macros_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-derive-macros-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-bb/derive-macros", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-bb-elementary-0.5.0": { @@ -5822,7 +5346,7 @@ "https://static.crates.io/crates/iceoryx2-bb-elementary/0.5.0/download" ], "strip_prefix": "iceoryx2-bb-elementary-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_elementary\",\n deps = [\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-elementary\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_elementary\",\n deps = [\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-elementary\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__iceoryx2-bb-elementary-qnx8-0.7.0": { @@ -5834,9 +5358,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_elementary_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-elementary-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_elementary_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-elementary-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-bb/elementary", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0": { @@ -5848,9 +5372,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_elementary_traits_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-elementary-traits-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_elementary_traits_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-elementary-traits-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-bb/elementary-traits", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-bb-linux-qnx8-0.7.0": { @@ -5862,9 +5386,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_linux_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n \"@crate_index__iceoryx2-pal-os-api-qnx8-0.7.0//:iceoryx2_pal_os_api_qnx8\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\": \"iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\": \"iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\": \"iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n \"@crate_index__iceoryx2-pal-os-api-qnx8-0.7.0//:iceoryx2_pal_os_api_qnx8\": \"iceoryx2_pal_os_api\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\": \"iceoryx2_pal_posix\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-linux-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_linux_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n \"@crate_index__iceoryx2-pal-os-api-qnx8-0.7.0//:iceoryx2_pal_os_api_qnx8\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\": \"iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\": \"iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\": \"iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n \"@crate_index__iceoryx2-pal-os-api-qnx8-0.7.0//:iceoryx2_pal_os_api_qnx8\": \"iceoryx2_pal_os_api\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\": \"iceoryx2_pal_posix\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-linux-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-bb/linux", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-bb-lock-free-0.5.0": { @@ -5880,7 +5404,7 @@ "https://static.crates.io/crates/iceoryx2-bb-lock-free/0.5.0/download" ], "strip_prefix": "iceoryx2-bb-lock-free-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_lock_free\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-lock-free\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_lock_free\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-lock-free\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0": { @@ -5892,9 +5416,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_lock_free_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-lock-free-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_lock_free_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-lock-free-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-bb/lock-free", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-bb-log-0.5.0": { @@ -5910,7 +5434,7 @@ "https://static.crates.io/crates/iceoryx2-bb-log/0.5.0/download" ], "strip_prefix": "iceoryx2-bb-log-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_log\",\n deps = [\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__termsize-0.1.9//:termsize\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-log\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_log\",\n deps = [\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__termsize-0.1.9//:termsize\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-log\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__iceoryx2-bb-log-qnx8-0.7.0": { @@ -5922,9 +5446,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_log_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-log-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_log_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-log-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-bb/log", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-bb-memory-0.5.0": { @@ -5940,7 +5464,7 @@ "https://static.crates.io/crates/iceoryx2-bb-memory/0.5.0/download" ], "strip_prefix": "iceoryx2-bb-memory-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_memory\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-lock-free-0.5.0//:iceoryx2_bb_lock_free\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-posix-0.5.0//:iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-memory\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_memory\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-lock-free-0.5.0//:iceoryx2_bb_lock_free\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-posix-0.5.0//:iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-memory\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__iceoryx2-bb-memory-qnx8-0.7.0": { @@ -5952,9 +5476,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_memory_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\": \"iceoryx2_bb_lock_free\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\": \"iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-memory-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_memory_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\": \"iceoryx2_bb_lock_free\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\": \"iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-memory-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-bb/memory", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-bb-posix-0.5.0": { @@ -5970,7 +5494,7 @@ "https://static.crates.io/crates/iceoryx2-bb-posix/0.5.0/download" ], "strip_prefix": "iceoryx2-bb-posix-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_posix\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__enum-iterator-2.3.0//:enum_iterator\",\n \"@crate_index__iceoryx2-bb-container-0.5.0//:iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-system-types-0.5.0//:iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__iceoryx2-pal-configuration-0.5.0//:iceoryx2_pal_configuration\",\n \"@crate_index__iceoryx2-pal-posix-0.5.0//:iceoryx2_pal_posix\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-posix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_posix\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__enum-iterator-2.3.0//:enum_iterator\",\n \"@crate_index__iceoryx2-bb-container-0.5.0//:iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-system-types-0.5.0//:iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__iceoryx2-pal-configuration-0.5.0//:iceoryx2_pal_configuration\",\n \"@crate_index__iceoryx2-pal-posix-0.5.0//:iceoryx2_pal_posix\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-posix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__iceoryx2-bb-posix-qnx8-0.7.0": { @@ -5982,9 +5506,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_posix_qnx8\",\n deps = [\n \"@crate_index__enum-iterator-2.3.0//:enum_iterator\",\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\": \"iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\": \"iceoryx2_bb_derive_macros\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\": \"iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\": \"iceoryx2_pal_posix\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-posix-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_posix_qnx8\",\n deps = [\n \"@crate_index__enum-iterator-2.3.0//:enum_iterator\",\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\": \"iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\": \"iceoryx2_bb_derive_macros\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\": \"iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\": \"iceoryx2_pal_posix\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-posix-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-bb/posix", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-bb-system-types-0.5.0": { @@ -6000,7 +5524,7 @@ "https://static.crates.io/crates/iceoryx2-bb-system-types/0.5.0/download" ], "strip_prefix": "iceoryx2-bb-system-types-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_system_types\",\n deps = [\n \"@crate_index__iceoryx2-bb-container-0.5.0//:iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-pal-configuration-0.5.0//:iceoryx2_pal_configuration\",\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-system-types\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_system_types\",\n deps = [\n \"@crate_index__iceoryx2-bb-container-0.5.0//:iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-pal-configuration-0.5.0//:iceoryx2_pal_configuration\",\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-system-types\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__iceoryx2-bb-system-types-qnx8-0.7.0": { @@ -6012,9 +5536,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_system_types_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\",\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\": \"iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\": \"iceoryx2_bb_derive_macros\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\": \"iceoryx2_pal_posix\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-system-types-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_system_types_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\",\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\": \"iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\": \"iceoryx2_bb_derive_macros\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\": \"iceoryx2_pal_posix\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-system-types-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-bb/system-types", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-bb-testing-qnx8-0.7.0": { @@ -6026,9 +5550,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_testing_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n \"@crate_index__iceoryx2-pal-testing-qnx8-0.7.0//:iceoryx2_pal_testing_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n \"@crate_index__iceoryx2-pal-testing-qnx8-0.7.0//:iceoryx2_pal_testing_qnx8\": \"iceoryx2_pal_testing\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-testing-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_testing_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n \"@crate_index__iceoryx2-pal-testing-qnx8-0.7.0//:iceoryx2_pal_testing_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n \"@crate_index__iceoryx2-pal-testing-qnx8-0.7.0//:iceoryx2_pal_testing_qnx8\": \"iceoryx2_pal_testing\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-testing-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-bb/testing", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-bb-threadsafe-qnx8-0.7.0": { @@ -6040,9 +5564,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_threadsafe_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\": \"iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\": \"iceoryx2_bb_posix\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-threadsafe-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_bb_threadsafe_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\": \"iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\": \"iceoryx2_bb_posix\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-bb-threadsafe-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-bb/threadsafe", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-cal-0.5.0": { @@ -6058,7 +5582,7 @@ "https://static.crates.io/crates/iceoryx2-cal/0.5.0/download" ], "strip_prefix": "iceoryx2-cal-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_cal\",\n deps = [\n \"@crate_index__cdr-0.2.4//:cdr\",\n \"@crate_index__iceoryx2-bb-container-0.5.0//:iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-lock-free-0.5.0//:iceoryx2_bb_lock_free\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-memory-0.5.0//:iceoryx2_bb_memory\",\n \"@crate_index__iceoryx2-bb-posix-0.5.0//:iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-bb-system-types-0.5.0//:iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__ouroboros-0.18.5//:ouroboros\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__sha1_smol-1.0.1//:sha1_smol\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n \"@crate_index__toml-0.8.23//:toml\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-cal\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_cal\",\n deps = [\n \"@crate_index__cdr-0.2.4//:cdr\",\n \"@crate_index__iceoryx2-bb-container-0.5.0//:iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-elementary-0.5.0//:iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-lock-free-0.5.0//:iceoryx2_bb_lock_free\",\n \"@crate_index__iceoryx2-bb-log-0.5.0//:iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-memory-0.5.0//:iceoryx2_bb_memory\",\n \"@crate_index__iceoryx2-bb-posix-0.5.0//:iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-bb-system-types-0.5.0//:iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__ouroboros-0.18.5//:ouroboros\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__sha1_smol-1.0.1//:sha1_smol\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n \"@crate_index__toml-0.8.23//:toml\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-cal\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__iceoryx2-cal-qnx8-0.7.0": { @@ -6070,9 +5594,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_cal_qnx8\",\n deps = [\n \"@crate_index__cdr-0.2.4//:cdr\",\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-linux-qnx8-0.7.0//:iceoryx2_bb_linux_qnx8\",\n \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__postcard-1.1.3//:postcard\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__sha1_smol-1.0.1//:sha1_smol\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n \"@crate_index__toml-0.8.23//:toml\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\": \"iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\": \"iceoryx2_bb_derive_macros\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-linux-qnx8-0.7.0//:iceoryx2_bb_linux_qnx8\": \"iceoryx2_bb_linux\",\n \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\": \"iceoryx2_bb_lock_free\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\": \"iceoryx2_bb_memory\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\": \"iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\": \"iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-cal-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_cal_qnx8\",\n deps = [\n \"@crate_index__cdr-0.2.4//:cdr\",\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-linux-qnx8-0.7.0//:iceoryx2_bb_linux_qnx8\",\n \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__postcard-1.1.3//:postcard\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__sha1_smol-1.0.1//:sha1_smol\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n \"@crate_index__toml-0.8.23//:toml\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\": \"iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\": \"iceoryx2_bb_derive_macros\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-linux-qnx8-0.7.0//:iceoryx2_bb_linux_qnx8\": \"iceoryx2_bb_linux\",\n \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\": \"iceoryx2_bb_lock_free\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\": \"iceoryx2_bb_memory\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\": \"iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\": \"iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-cal-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-cal", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-pal-concurrency-sync-0.5.0": { @@ -6088,7 +5612,7 @@ "https://static.crates.io/crates/iceoryx2-pal-concurrency-sync/0.5.0/download" ], "strip_prefix": "iceoryx2-pal-concurrency-sync-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_concurrency_sync\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-concurrency-sync\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_concurrency_sync\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-concurrency-sync\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0": { @@ -6100,9 +5624,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_concurrency_sync_qnx8\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-concurrency-sync-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_concurrency_sync_qnx8\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-concurrency-sync-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-pal/concurrency-sync", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-pal-configuration-0.5.0": { @@ -6118,7 +5642,7 @@ "https://static.crates.io/crates/iceoryx2-pal-configuration/0.5.0/download" ], "strip_prefix": "iceoryx2-pal-configuration-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_configuration\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-configuration\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_configuration\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-configuration\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__iceoryx2-pal-configuration-qnx8-0.7.0": { @@ -6130,9 +5654,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_configuration_qnx8\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-configuration-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_configuration_qnx8\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-configuration-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-pal/configuration", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-pal-os-api-qnx8-0.7.0": { @@ -6144,9 +5668,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_os_api_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-pal-os-api-qnx8-0.7.0//:build_script_build\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\": \"iceoryx2_pal_posix\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-os-api-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__bindgen-0.72.1//:bindgen\",\n \"@crate_index__cc-1.2.61//:cc\",\n ],\n edition = \"2021\",\n pkg_name = \"iceoryx2-pal-os-api-qnx8\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-os-api-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.7.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_os_api_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-pal-os-api-qnx8-0.7.0//:build_script_build\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:iceoryx2_pal_posix_qnx8\": \"iceoryx2_pal_posix\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-os-api-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__bindgen-0.72.1//:bindgen\",\n \"@crate_index__cc-1.2.61//:cc\",\n ],\n edition = \"2021\",\n pkg_name = \"iceoryx2-pal-os-api-qnx8\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-os-api-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.7.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n", "strip_prefix": "iceoryx2-pal/os-api", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-pal-posix-0.5.0": { @@ -6162,7 +5686,7 @@ "https://static.crates.io/crates/iceoryx2-pal-posix/0.5.0/download" ], "strip_prefix": "iceoryx2-pal-posix-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_posix\",\n deps = [\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__iceoryx2-pal-configuration-0.5.0//:iceoryx2_pal_configuration\",\n \"@crate_index__iceoryx2-pal-posix-0.5.0//:build_script_build\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-posix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__bindgen-0.69.5//:bindgen\",\n \"@crate_index__cc-1.2.61//:cc\",\n ],\n edition = \"2021\",\n pkg_name = \"iceoryx2-pal-posix\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-posix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.5.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_posix\",\n deps = [\n \"@crate_index__iceoryx2-pal-concurrency-sync-0.5.0//:iceoryx2_pal_concurrency_sync\",\n \"@crate_index__iceoryx2-pal-configuration-0.5.0//:iceoryx2_pal_configuration\",\n \"@crate_index__iceoryx2-pal-posix-0.5.0//:build_script_build\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-posix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__bindgen-0.69.5//:bindgen\",\n \"@crate_index__cc-1.2.61//:cc\",\n ],\n edition = \"2021\",\n pkg_name = \"iceoryx2-pal-posix\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-posix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.5.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__iceoryx2-pal-posix-qnx8-0.7.0": { @@ -6176,9 +5700,9 @@ ], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_posix_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:build_script_build\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-posix-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__bindgen-0.72.1//:bindgen\",\n \"@crate_index__cc-1.2.61//:cc\",\n ],\n edition = \"2021\",\n pkg_name = \"iceoryx2-pal-posix-qnx8\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-posix-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.7.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_posix_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n \"@crate_index__iceoryx2-pal-posix-qnx8-0.7.0//:build_script_build\",\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-posix-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__bindgen-0.72.1//:bindgen\",\n \"@crate_index__cc-1.2.61//:cc\",\n ],\n edition = \"2021\",\n pkg_name = \"iceoryx2-pal-posix-qnx8\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-posix-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.7.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n", "strip_prefix": "iceoryx2-pal/posix", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-pal-testing-qnx8-0.7.0": { @@ -6190,9 +5714,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_testing_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-testing-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_pal_testing_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-pal-testing-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2-pal/testing", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__iceoryx2-qnx8-0.7.0": { @@ -6204,9 +5728,9 @@ "patches": [], "shallow_since": "", "remote": "https://github.com/qorix-group/iceoryx2.git", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n \"@crate_index__toml-0.8.23//:toml\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\": \"iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\": \"iceoryx2_bb_derive_macros\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\": \"iceoryx2_bb_lock_free\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\": \"iceoryx2_bb_memory\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\": \"iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\": \"iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\": \"iceoryx2_cal\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"iceoryx2_qnx8\",\n deps = [\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\",\n \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\",\n \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\",\n \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__tiny-fn-0.1.9//:tiny_fn\",\n \"@crate_index__toml-0.8.23//:toml\",\n ],\n proc_macro_deps = [\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\",\n ],\n aliases = {\n \"@crate_index__iceoryx2-bb-container-qnx8-0.7.0//:iceoryx2_bb_container_qnx8\": \"iceoryx2_bb_container\",\n \"@crate_index__iceoryx2-bb-derive-macros-qnx8-0.7.0//:iceoryx2_bb_derive_macros_qnx8\": \"iceoryx2_bb_derive_macros\",\n \"@crate_index__iceoryx2-bb-elementary-qnx8-0.7.0//:iceoryx2_bb_elementary_qnx8\": \"iceoryx2_bb_elementary\",\n \"@crate_index__iceoryx2-bb-elementary-traits-qnx8-0.7.0//:iceoryx2_bb_elementary_traits_qnx8\": \"iceoryx2_bb_elementary_traits\",\n \"@crate_index__iceoryx2-bb-lock-free-qnx8-0.7.0//:iceoryx2_bb_lock_free_qnx8\": \"iceoryx2_bb_lock_free\",\n \"@crate_index__iceoryx2-bb-log-qnx8-0.7.0//:iceoryx2_bb_log_qnx8\": \"iceoryx2_bb_log\",\n \"@crate_index__iceoryx2-bb-memory-qnx8-0.7.0//:iceoryx2_bb_memory_qnx8\": \"iceoryx2_bb_memory\",\n \"@crate_index__iceoryx2-bb-posix-qnx8-0.7.0//:iceoryx2_bb_posix_qnx8\": \"iceoryx2_bb_posix\",\n \"@crate_index__iceoryx2-bb-system-types-qnx8-0.7.0//:iceoryx2_bb_system_types_qnx8\": \"iceoryx2_bb_system_types\",\n \"@crate_index__iceoryx2-cal-qnx8-0.7.0//:iceoryx2_cal_qnx8\": \"iceoryx2_cal\",\n \"@crate_index__iceoryx2-pal-concurrency-sync-qnx8-0.7.0//:iceoryx2_pal_concurrency_sync_qnx8\": \"iceoryx2_pal_concurrency_sync\",\n \"@crate_index__iceoryx2-pal-configuration-qnx8-0.7.0//:iceoryx2_pal_configuration_qnx8\": \"iceoryx2_pal_configuration\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=iceoryx2-qnx8\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.0\",\n)\n", "strip_prefix": "iceoryx2", - "commit": "bd16da32190d53d69c3e5504aab47df52ca8b5f8" + "commit": "9f5622f554de48a7a296e1a5a71200b01e35a502" } }, "crate_index__id-arena-2.3.0": { @@ -6222,7 +5746,7 @@ "https://static.crates.io/crates/id-arena/2.3.0/download" ], "strip_prefix": "id-arena-2.3.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"id_arena\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=id-arena\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.3.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"id_arena\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=id-arena\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.3.0\",\n)\n" } }, "crate_index__indexmap-2.14.0": { @@ -6238,7 +5762,7 @@ "https://static.crates.io/crates/indexmap/2.14.0/download" ], "strip_prefix": "indexmap-2.14.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"indexmap\",\n deps = [\n \"@crate_index__equivalent-1.0.2//:equivalent\",\n \"@crate_index__hashbrown-0.17.0//:hashbrown\",\n ] + select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__serde_core-1.0.228//:serde_core\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ] + select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"serde\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=indexmap\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.14.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"indexmap\",\n deps = [\n \"@crate_index__equivalent-1.0.2//:equivalent\",\n \"@crate_index__hashbrown-0.17.0//:hashbrown\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__serde_core-1.0.228//:serde_core\", # aarch64-unknown-linux-gnu\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__serde_core-1.0.228//:serde_core\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"serde\", # aarch64-unknown-linux-gnu\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"serde\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=indexmap\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.14.0\",\n)\n" } }, "crate_index__indicatif-0.18.4": { @@ -6254,7 +5778,7 @@ "https://static.crates.io/crates/indicatif/0.18.4/download" ], "strip_prefix": "indicatif-0.18.4", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"indicatif\",\n deps = [\n \"@crate_index__console-0.16.3//:console\",\n \"@crate_index__portable-atomic-1.13.1//:portable_atomic\",\n \"@crate_index__unicode-width-0.2.2//:unicode_width\",\n \"@crate_index__unit-prefix-0.5.2//:unit_prefix\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"unicode-width\",\n \"wasmbind\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=indicatif\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.18.4\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"indicatif\",\n deps = [\n \"@crate_index__console-0.16.3//:console\",\n \"@crate_index__portable-atomic-1.13.1//:portable_atomic\",\n \"@crate_index__unicode-width-0.2.2//:unicode_width\",\n \"@crate_index__unit-prefix-0.5.2//:unit_prefix\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"unicode-width\",\n \"wasmbind\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=indicatif\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.18.4\",\n)\n" } }, "crate_index__indicatif-log-bridge-0.2.3": { @@ -6270,7 +5794,7 @@ "https://static.crates.io/crates/indicatif-log-bridge/0.2.3/download" ], "strip_prefix": "indicatif-log-bridge-0.2.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"indicatif_log_bridge\",\n deps = [\n \"@crate_index__indicatif-0.18.4//:indicatif\",\n \"@crate_index__log-0.4.29//:log\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=indicatif-log-bridge\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"indicatif_log_bridge\",\n deps = [\n \"@crate_index__indicatif-0.18.4//:indicatif\",\n \"@crate_index__log-0.4.29//:log\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=indicatif-log-bridge\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.3\",\n)\n" } }, "crate_index__ipc-channel-0.20.2": { @@ -6286,7 +5810,7 @@ "https://static.crates.io/crates/ipc-channel/0.20.2/download" ], "strip_prefix": "ipc-channel-0.20.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"ipc_channel\",\n deps = [\n \"@crate_index__bincode-1.3.3//:bincode\",\n \"@crate_index__crossbeam-channel-0.5.15//:crossbeam_channel\",\n \"@crate_index__fnv-1.0.7//:fnv\",\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__uuid-1.23.1//:uuid\",\n ] + select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__mio-1.2.0//:mio\", # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n \"@crate_index__tempfile-3.27.0//:tempfile\", # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=ipc-channel\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.20.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"ipc_channel\",\n deps = [\n \"@crate_index__bincode-1.3.3//:bincode\",\n \"@crate_index__crossbeam-channel-0.5.15//:crossbeam_channel\",\n \"@crate_index__fnv-1.0.7//:fnv\",\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__uuid-1.23.1//:uuid\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__mio-1.2.0//:mio\", # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n \"@crate_index__tempfile-3.27.0//:tempfile\", # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__mio-1.2.0//:mio\", # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n \"@crate_index__tempfile-3.27.0//:tempfile\", # cfg(any(target_os = \"linux\", target_os = \"openbsd\", target_os = \"freebsd\", target_os = \"illumos\"))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=ipc-channel\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.20.2\",\n)\n" } }, "crate_index__is_terminal_polyfill-1.70.2": { @@ -6302,7 +5826,7 @@ "https://static.crates.io/crates/is_terminal_polyfill/1.70.2/download" ], "strip_prefix": "is_terminal_polyfill-1.70.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"is_terminal_polyfill\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=is_terminal_polyfill\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.70.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"is_terminal_polyfill\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=is_terminal_polyfill\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.70.2\",\n)\n" } }, "crate_index__itertools-0.12.1": { @@ -6318,7 +5842,7 @@ "https://static.crates.io/crates/itertools/0.12.1/download" ], "strip_prefix": "itertools-0.12.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"itertools\",\n deps = [\n \"@crate_index__either-1.15.0//:either\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=itertools\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.12.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"itertools\",\n deps = [\n \"@crate_index__either-1.15.0//:either\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=itertools\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.12.1\",\n)\n" } }, "crate_index__itertools-0.13.0": { @@ -6334,7 +5858,7 @@ "https://static.crates.io/crates/itertools/0.13.0/download" ], "strip_prefix": "itertools-0.13.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"itertools\",\n deps = [\n \"@crate_index__either-1.15.0//:either\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=itertools\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.13.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"itertools\",\n deps = [\n \"@crate_index__either-1.15.0//:either\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=itertools\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.13.0\",\n)\n" } }, "crate_index__itertools-0.14.0": { @@ -6350,7 +5874,7 @@ "https://static.crates.io/crates/itertools/0.14.0/download" ], "strip_prefix": "itertools-0.14.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"itertools\",\n deps = [\n \"@crate_index__either-1.15.0//:either\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"use_alloc\",\n ] + select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"default\", # x86_64-unknown-linux-gnu\n \"use_std\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=itertools\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.14.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"itertools\",\n deps = [\n \"@crate_index__either-1.15.0//:either\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"use_alloc\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"default\", # aarch64-unknown-linux-gnu\n \"use_std\", # aarch64-unknown-linux-gnu\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"default\", # x86_64-unknown-linux-gnu\n \"use_std\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=itertools\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.14.0\",\n)\n" } }, "crate_index__itoa-1.0.18": { @@ -6366,7 +5890,7 @@ "https://static.crates.io/crates/itoa/1.0.18/download" ], "strip_prefix": "itoa-1.0.18", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"itoa\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=itoa\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.18\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"itoa\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=itoa\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.18\",\n)\n" } }, "crate_index__jiff-0.2.24": { @@ -6382,7 +5906,7 @@ "https://static.crates.io/crates/jiff/0.2.24/download" ], "strip_prefix": "jiff-0.2.24", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"jiff\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=jiff\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.24\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"jiff\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=jiff\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.24\",\n)\n" } }, "crate_index__jiff-static-0.2.24": { @@ -6398,7 +5922,7 @@ "https://static.crates.io/crates/jiff-static/0.2.24/download" ], "strip_prefix": "jiff-static-0.2.24", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"jiff_static\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=jiff-static\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.24\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"jiff_static\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=jiff-static\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.24\",\n)\n" } }, "crate_index__js-sys-0.3.95": { @@ -6414,7 +5938,7 @@ "https://static.crates.io/crates/js-sys/0.3.95/download" ], "strip_prefix": "js-sys-0.3.95", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"js_sys\",\n deps = [\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__wasm-bindgen-0.2.118//:wasm_bindgen\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=js-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.95\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"js_sys\",\n deps = [\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__wasm-bindgen-0.2.118//:wasm_bindgen\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=js-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.95\",\n)\n" } }, "crate_index__lazy_static-1.5.0": { @@ -6430,7 +5954,7 @@ "https://static.crates.io/crates/lazy_static/1.5.0/download" ], "strip_prefix": "lazy_static-1.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"lazy_static\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=lazy_static\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"lazy_static\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=lazy_static\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.5.0\",\n)\n" } }, "crate_index__lazycell-1.3.0": { @@ -6446,7 +5970,7 @@ "https://static.crates.io/crates/lazycell/1.3.0/download" ], "strip_prefix": "lazycell-1.3.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"lazycell\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=lazycell\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.3.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"lazycell\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=lazycell\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.3.0\",\n)\n" } }, "crate_index__leb128fmt-0.1.0": { @@ -6462,7 +5986,7 @@ "https://static.crates.io/crates/leb128fmt/0.1.0/download" ], "strip_prefix": "leb128fmt-0.1.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"leb128fmt\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=leb128fmt\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"leb128fmt\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=leb128fmt\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.0\",\n)\n" } }, "crate_index__libc-0.2.186": { @@ -6478,7 +6002,7 @@ "https://static.crates.io/crates/libc/0.2.186/download" ], "strip_prefix": "libc-0.2.186", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"libc\",\n deps = [\n \"@crate_index__libc-0.2.186//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"extra_traits\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=libc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.186\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"extra_traits\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"libc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=libc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.2.186\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"libc\",\n deps = [\n \"@crate_index__libc-0.2.186//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"extra_traits\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=libc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.186\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"extra_traits\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"libc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=libc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.2.186\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__libloading-0.8.9": { @@ -6494,7 +6018,7 @@ "https://static.crates.io/crates/libloading/0.8.9/download" ], "strip_prefix": "libloading-0.8.9", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"libloading\",\n deps = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\", # cfg(unix)\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=libloading\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.9\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"libloading\",\n deps = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\", # cfg(unix)\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=libloading\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.9\",\n)\n" } }, "crate_index__linux-raw-sys-0.4.15": { @@ -6510,7 +6034,7 @@ "https://static.crates.io/crates/linux-raw-sys/0.4.15/download" ], "strip_prefix": "linux-raw-sys-0.4.15", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"linux_raw_sys\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"elf\",\n \"errno\",\n \"general\",\n \"ioctl\",\n \"no_std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=linux-raw-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.15\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"linux_raw_sys\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"elf\",\n \"errno\",\n \"general\",\n \"ioctl\",\n \"no_std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=linux-raw-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.15\",\n)\n" } }, "crate_index__linux-raw-sys-0.12.1": { @@ -6526,7 +6050,7 @@ "https://static.crates.io/crates/linux-raw-sys/0.12.1/download" ], "strip_prefix": "linux-raw-sys-0.12.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"linux_raw_sys\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"auxvec\",\n \"elf\",\n \"errno\",\n \"general\",\n \"ioctl\",\n \"no_std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=linux-raw-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.12.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"linux_raw_sys\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"auxvec\",\n \"elf\",\n \"errno\",\n \"general\",\n \"ioctl\",\n \"no_std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=linux-raw-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.12.1\",\n)\n" } }, "crate_index__lock_api-0.4.14": { @@ -6542,7 +6066,7 @@ "https://static.crates.io/crates/lock_api/0.4.14/download" ], "strip_prefix": "lock_api-0.4.14", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"lock_api\",\n deps = [\n \"@crate_index__scopeguard-1.2.0//:scopeguard\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"atomic_usize\",\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=lock_api\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.14\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"lock_api\",\n deps = [\n \"@crate_index__scopeguard-1.2.0//:scopeguard\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"atomic_usize\",\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=lock_api\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.14\",\n)\n" } }, "crate_index__log-0.4.29": { @@ -6558,7 +6082,39 @@ "https://static.crates.io/crates/log/0.4.29/download" ], "strip_prefix": "log-0.4.29", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"log\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=log\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.29\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"log\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=log\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.29\",\n)\n" + } + }, + "crate_index__loom-0.7.2": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "419e0dc8046cb947daa77eb95ae174acfbddb7673b4151f56d1eed8e93fbfaca", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/loom/0.7.2/download" + ], + "strip_prefix": "loom-0.7.2", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"loom\",\n deps = [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n \"@crate_index__generator-0.8.8//:generator\",\n \"@crate_index__scoped-tls-1.0.1//:scoped_tls\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__serde_json-1.0.149//:serde_json\",\n \"@crate_index__tracing-0.1.44//:tracing\",\n \"@crate_index__tracing-subscriber-0.3.23//:tracing_subscriber\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"checkpoint\",\n \"default\",\n \"serde\",\n \"serde_json\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=loom\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.2\",\n)\n" + } + }, + "crate_index__matchers-0.2.0": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "d1525a2a28c7f4fa0fc98bb91ae755d1e2d1505079e05539e35bc876b5d65ae9", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/matchers/0.2.0/download" + ], + "strip_prefix": "matchers-0.2.0", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"matchers\",\n deps = [\n \"@crate_index__regex-automata-0.4.14//:regex_automata\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=matchers\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.0\",\n)\n" } }, "crate_index__matchit-0.8.4": { @@ -6574,7 +6130,7 @@ "https://static.crates.io/crates/matchit/0.8.4/download" ], "strip_prefix": "matchit-0.8.4", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"matchit\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=matchit\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.4\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"matchit\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=matchit\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.4\",\n)\n" } }, "crate_index__memchr-2.8.0": { @@ -6590,7 +6146,7 @@ "https://static.crates.io/crates/memchr/2.8.0/download" ], "strip_prefix": "memchr-2.8.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"memchr\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=memchr\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.8.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"memchr\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=memchr\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.8.0\",\n)\n" } }, "crate_index__mime-0.3.17": { @@ -6606,7 +6162,7 @@ "https://static.crates.io/crates/mime/0.3.17/download" ], "strip_prefix": "mime-0.3.17", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"mime\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=mime\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.17\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"mime\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=mime\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.17\",\n)\n" } }, "crate_index__minimal-lexical-0.2.1": { @@ -6622,7 +6178,7 @@ "https://static.crates.io/crates/minimal-lexical/0.2.1/download" ], "strip_prefix": "minimal-lexical-0.2.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"minimal_lexical\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=minimal-lexical\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"minimal_lexical\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=minimal-lexical\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.1\",\n)\n" } }, "crate_index__mio-1.2.0": { @@ -6638,7 +6194,7 @@ "https://static.crates.io/crates/mio/1.2.0/download" ], "strip_prefix": "mio-1.2.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"mio\",\n deps = [\n \"@crate_index__log-0.4.29//:log\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"log\",\n \"net\",\n \"os-ext\",\n \"os-poll\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=mio\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.2.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"mio\",\n deps = [\n \"@crate_index__log-0.4.29//:log\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(unix, target_os = \"hermit\", target_os = \"wasi\"))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"log\",\n \"net\",\n \"os-ext\",\n \"os-poll\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=mio\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.2.0\",\n)\n" } }, "crate_index__multimap-0.10.1": { @@ -6654,7 +6210,7 @@ "https://static.crates.io/crates/multimap/0.10.1/download" ], "strip_prefix": "multimap-0.10.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"multimap\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=multimap\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.10.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"multimap\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=multimap\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.10.1\",\n)\n" } }, "crate_index__nix-0.30.1": { @@ -6670,7 +6226,7 @@ "https://static.crates.io/crates/nix/0.30.1/download" ], "strip_prefix": "nix-0.30.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"nix\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__nix-0.30.1//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"fs\",\n \"mman\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=nix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.30.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"fs\",\n \"mman\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__cfg_aliases-0.2.1//:cfg_aliases\",\n ],\n edition = \"2021\",\n pkg_name = \"nix\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=nix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.30.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"nix\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__nix-0.30.1//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"fs\",\n \"mman\",\n \"process\",\n \"signal\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=nix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.30.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"fs\",\n \"mman\",\n \"process\",\n \"signal\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__cfg_aliases-0.2.1//:cfg_aliases\",\n ],\n edition = \"2021\",\n pkg_name = \"nix\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=nix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.30.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__nix-0.31.2": { @@ -6686,7 +6242,7 @@ "https://static.crates.io/crates/nix/0.31.2/download" ], "strip_prefix": "nix-0.31.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"nix\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__nix-0.31.2//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"process\",\n \"signal\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=nix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.31.2\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"process\",\n \"signal\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__cfg_aliases-0.2.1//:cfg_aliases\",\n ],\n edition = \"2021\",\n pkg_name = \"nix\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=nix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.31.2\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"nix\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__nix-0.31.2//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"process\",\n \"signal\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=nix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.31.2\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"process\",\n \"signal\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__cfg_aliases-0.2.1//:cfg_aliases\",\n ],\n edition = \"2021\",\n pkg_name = \"nix\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=nix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.31.2\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__nom-7.1.3": { @@ -6702,7 +6258,7 @@ "https://static.crates.io/crates/nom/7.1.3/download" ], "strip_prefix": "nom-7.1.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"nom\",\n deps = [\n \"@crate_index__memchr-2.8.0//:memchr\",\n \"@crate_index__minimal-lexical-0.2.1//:minimal_lexical\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=nom\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"7.1.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"nom\",\n deps = [\n \"@crate_index__memchr-2.8.0//:memchr\",\n \"@crate_index__minimal-lexical-0.2.1//:minimal_lexical\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=nom\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"7.1.3\",\n)\n" } }, "crate_index__nu-ansi-term-0.50.3": { @@ -6718,7 +6274,7 @@ "https://static.crates.io/crates/nu-ansi-term/0.50.3/download" ], "strip_prefix": "nu-ansi-term-0.50.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"nu_ansi_term\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=nu-ansi-term\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.50.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"nu_ansi_term\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=nu-ansi-term\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.50.3\",\n)\n" } }, "crate_index__num-conv-0.2.1": { @@ -6734,7 +6290,7 @@ "https://static.crates.io/crates/num-conv/0.2.1/download" ], "strip_prefix": "num-conv-0.2.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"num_conv\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=num-conv\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"num_conv\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=num-conv\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.1\",\n)\n" } }, "crate_index__objc2-0.6.4": { @@ -6750,7 +6306,7 @@ "https://static.crates.io/crates/objc2/0.6.4/download" ], "strip_prefix": "objc2-0.6.4", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"objc2\",\n deps = [\n \"@crate_index__objc2-0.6.4//:build_script_build\",\n \"@crate_index__objc2-encode-4.1.0//:objc2_encode\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=objc2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.4\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"objc2\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=objc2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.6.4\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"objc2\",\n deps = [\n \"@crate_index__objc2-0.6.4//:build_script_build\",\n \"@crate_index__objc2-encode-4.1.0//:objc2_encode\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=objc2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.4\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"objc2\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=objc2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.6.4\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__objc2-encode-4.1.0": { @@ -6766,7 +6322,7 @@ "https://static.crates.io/crates/objc2-encode/4.1.0/download" ], "strip_prefix": "objc2-encode-4.1.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"objc2_encode\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=objc2-encode\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"4.1.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"objc2_encode\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=objc2-encode\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"4.1.0\",\n)\n" } }, "crate_index__once_cell-1.21.4": { @@ -6782,7 +6338,7 @@ "https://static.crates.io/crates/once_cell/1.21.4/download" ], "strip_prefix": "once_cell-1.21.4", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"once_cell\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"race\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=once_cell\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.21.4\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"once_cell\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"race\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=once_cell\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.21.4\",\n)\n" } }, "crate_index__once_cell_polyfill-1.70.2": { @@ -6798,7 +6354,7 @@ "https://static.crates.io/crates/once_cell_polyfill/1.70.2/download" ], "strip_prefix": "once_cell_polyfill-1.70.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"once_cell_polyfill\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=once_cell_polyfill\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.70.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"once_cell_polyfill\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=once_cell_polyfill\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.70.2\",\n)\n" } }, "crate_index__ouroboros-0.18.5": { @@ -6814,7 +6370,7 @@ "https://static.crates.io/crates/ouroboros/0.18.5/download" ], "strip_prefix": "ouroboros-0.18.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"ouroboros\",\n deps = [\n \"@crate_index__aliasable-0.1.3//:aliasable\",\n \"@crate_index__static_assertions-1.1.0//:static_assertions\",\n ],\n proc_macro_deps = [\n \"@crate_index__ouroboros_macro-0.18.5//:ouroboros_macro\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=ouroboros\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.18.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"ouroboros\",\n deps = [\n \"@crate_index__aliasable-0.1.3//:aliasable\",\n \"@crate_index__static_assertions-1.1.0//:static_assertions\",\n ],\n proc_macro_deps = [\n \"@crate_index__ouroboros_macro-0.18.5//:ouroboros_macro\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=ouroboros\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.18.5\",\n)\n" } }, "crate_index__ouroboros_macro-0.18.5": { @@ -6830,7 +6386,7 @@ "https://static.crates.io/crates/ouroboros_macro/0.18.5/download" ], "strip_prefix": "ouroboros_macro-0.18.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"ouroboros_macro\",\n deps = [\n \"@crate_index__heck-0.4.1//:heck\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__proc-macro2-diagnostics-0.10.1//:proc_macro2_diagnostics\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=ouroboros_macro\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.18.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"ouroboros_macro\",\n deps = [\n \"@crate_index__heck-0.4.1//:heck\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__proc-macro2-diagnostics-0.10.1//:proc_macro2_diagnostics\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=ouroboros_macro\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.18.5\",\n)\n" } }, "crate_index__paste-1.0.15": { @@ -6846,7 +6402,7 @@ "https://static.crates.io/crates/paste/1.0.15/download" ], "strip_prefix": "paste-1.0.15", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"paste\",\n deps = [\n \"@crate_index__paste-1.0.15//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=paste\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.15\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"paste\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=paste\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.15\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"paste\",\n deps = [\n \"@crate_index__paste-1.0.15//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=paste\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.15\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"paste\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=paste\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.15\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__percent-encoding-2.3.2": { @@ -6862,7 +6418,7 @@ "https://static.crates.io/crates/percent-encoding/2.3.2/download" ], "strip_prefix": "percent-encoding-2.3.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"percent_encoding\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=percent-encoding\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.3.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"percent_encoding\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=percent-encoding\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.3.2\",\n)\n" } }, "crate_index__petgraph-0.7.1": { @@ -6878,7 +6434,7 @@ "https://static.crates.io/crates/petgraph/0.7.1/download" ], "strip_prefix": "petgraph-0.7.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"petgraph\",\n deps = [\n \"@crate_index__fixedbitset-0.5.7//:fixedbitset\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=petgraph\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"petgraph\",\n deps = [\n \"@crate_index__fixedbitset-0.5.7//:fixedbitset\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=petgraph\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.1\",\n)\n" } }, "crate_index__petgraph-0.8.3": { @@ -6894,7 +6450,7 @@ "https://static.crates.io/crates/petgraph/0.8.3/download" ], "strip_prefix": "petgraph-0.8.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"petgraph\",\n deps = [\n \"@crate_index__fixedbitset-0.5.7//:fixedbitset\",\n \"@crate_index__hashbrown-0.15.5//:hashbrown\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=petgraph\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"petgraph\",\n deps = [\n \"@crate_index__fixedbitset-0.5.7//:fixedbitset\",\n \"@crate_index__hashbrown-0.15.5//:hashbrown\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=petgraph\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.3\",\n)\n" } }, "crate_index__pico-args-0.5.0": { @@ -6910,7 +6466,7 @@ "https://static.crates.io/crates/pico-args/0.5.0/download" ], "strip_prefix": "pico-args-0.5.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"pico_args\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=pico-args\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"pico_args\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=pico-args\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.0\",\n)\n" } }, "crate_index__pin-project-1.1.11": { @@ -6926,7 +6482,7 @@ "https://static.crates.io/crates/pin-project/1.1.11/download" ], "strip_prefix": "pin-project-1.1.11", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"pin_project\",\n proc_macro_deps = [\n \"@crate_index__pin-project-internal-1.1.11//:pin_project_internal\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=pin-project\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.11\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"pin_project\",\n proc_macro_deps = [\n \"@crate_index__pin-project-internal-1.1.11//:pin_project_internal\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=pin-project\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.11\",\n)\n" } }, "crate_index__pin-project-internal-1.1.11": { @@ -6942,7 +6498,7 @@ "https://static.crates.io/crates/pin-project-internal/1.1.11/download" ], "strip_prefix": "pin-project-internal-1.1.11", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"pin_project_internal\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=pin-project-internal\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.11\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"pin_project_internal\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=pin-project-internal\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.11\",\n)\n" } }, "crate_index__pin-project-lite-0.2.17": { @@ -6958,7 +6514,7 @@ "https://static.crates.io/crates/pin-project-lite/0.2.17/download" ], "strip_prefix": "pin-project-lite-0.2.17", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"pin_project_lite\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=pin-project-lite\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.17\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"pin_project_lite\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=pin-project-lite\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.17\",\n)\n" } }, "crate_index__portable-atomic-1.13.1": { @@ -6974,7 +6530,7 @@ "https://static.crates.io/crates/portable-atomic/1.13.1/download" ], "strip_prefix": "portable-atomic-1.13.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"portable_atomic\",\n deps = [\n \"@crate_index__portable-atomic-1.13.1//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"fallback\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=portable-atomic\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.13.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"fallback\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"portable-atomic\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=portable-atomic\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.13.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"portable_atomic\",\n deps = [\n \"@crate_index__portable-atomic-1.13.1//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"fallback\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=portable-atomic\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.13.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"fallback\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"portable-atomic\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=portable-atomic\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.13.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__portable-atomic-util-0.2.7": { @@ -6990,7 +6546,7 @@ "https://static.crates.io/crates/portable-atomic-util/0.2.7/download" ], "strip_prefix": "portable-atomic-util-0.2.7", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"portable_atomic_util\",\n deps = [\n \"@crate_index__portable-atomic-1.13.1//:portable_atomic\",\n \"@crate_index__portable-atomic-util-0.2.7//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=portable-atomic-util\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.7\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"portable-atomic-util\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=portable-atomic-util\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.2.7\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"portable_atomic_util\",\n deps = [\n \"@crate_index__portable-atomic-1.13.1//:portable_atomic\",\n \"@crate_index__portable-atomic-util-0.2.7//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=portable-atomic-util\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.7\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"portable-atomic-util\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=portable-atomic-util\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.2.7\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__postcard-1.1.3": { @@ -7006,7 +6562,7 @@ "https://static.crates.io/crates/postcard/1.1.3/download" ], "strip_prefix": "postcard-1.1.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"postcard\",\n deps = [\n \"@crate_index__cobs-0.3.0//:cobs\",\n \"@crate_index__heapless-0.7.17//:heapless\",\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n proc_macro_deps = [\n \"@crate_index__postcard-derive-0.2.2//:postcard_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"experimental-derive\",\n \"heapless\",\n \"heapless-cas\",\n \"postcard-derive\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=postcard\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"postcard\",\n deps = [\n \"@crate_index__cobs-0.3.0//:cobs\",\n \"@crate_index__heapless-0.7.17//:heapless\",\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n proc_macro_deps = [\n \"@crate_index__postcard-derive-0.2.2//:postcard_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"experimental-derive\",\n \"heapless\",\n \"heapless-cas\",\n \"postcard-derive\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=postcard\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.3\",\n)\n" } }, "crate_index__postcard-derive-0.2.2": { @@ -7022,7 +6578,7 @@ "https://static.crates.io/crates/postcard-derive/0.2.2/download" ], "strip_prefix": "postcard-derive-0.2.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"postcard_derive\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=postcard-derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"postcard_derive\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=postcard-derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.2\",\n)\n" } }, "crate_index__powerfmt-0.2.0": { @@ -7038,7 +6594,7 @@ "https://static.crates.io/crates/powerfmt/0.2.0/download" ], "strip_prefix": "powerfmt-0.2.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"powerfmt\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=powerfmt\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"powerfmt\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=powerfmt\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.0\",\n)\n" } }, "crate_index__ppv-lite86-0.2.21": { @@ -7054,7 +6610,7 @@ "https://static.crates.io/crates/ppv-lite86/0.2.21/download" ], "strip_prefix": "ppv-lite86-0.2.21", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"ppv_lite86\",\n deps = [\n \"@crate_index__zerocopy-0.8.48//:zerocopy\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"simd\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=ppv-lite86\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.21\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"ppv_lite86\",\n deps = [\n \"@crate_index__zerocopy-0.8.48//:zerocopy\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"simd\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=ppv-lite86\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.21\",\n)\n" } }, "crate_index__prettyplease-0.2.37": { @@ -7070,7 +6626,7 @@ "https://static.crates.io/crates/prettyplease/0.2.37/download" ], "strip_prefix": "prettyplease-0.2.37", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prettyplease\",\n deps = [\n \"@crate_index__prettyplease-0.2.37//:build_script_build\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"verbatim\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prettyplease\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.37\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"verbatim\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n links = \"prettyplease02\",\n pkg_name = \"prettyplease\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prettyplease\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.2.37\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prettyplease\",\n deps = [\n \"@crate_index__prettyplease-0.2.37//:build_script_build\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"verbatim\", # aarch64-unknown-linux-gnu\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"verbatim\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prettyplease\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.37\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"verbatim\", # aarch64-unknown-linux-gnu\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"verbatim\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n links = \"prettyplease02\",\n pkg_name = \"prettyplease\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prettyplease\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.2.37\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__proc-macro2-1.0.106": { @@ -7086,7 +6642,7 @@ "https://static.crates.io/crates/proc-macro2/1.0.106/download" ], "strip_prefix": "proc-macro2-1.0.106", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"proc_macro2\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:build_script_build\",\n \"@crate_index__unicode-ident-1.0.24//:unicode_ident\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"proc-macro\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=proc-macro2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.106\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"proc-macro\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"proc-macro2\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=proc-macro2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.106\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"proc_macro2\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:build_script_build\",\n \"@crate_index__unicode-ident-1.0.24//:unicode_ident\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"proc-macro\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=proc-macro2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.106\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"proc-macro\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"proc-macro2\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=proc-macro2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.106\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__proc-macro2-diagnostics-0.10.1": { @@ -7102,7 +6658,7 @@ "https://static.crates.io/crates/proc-macro2-diagnostics/0.10.1/download" ], "strip_prefix": "proc-macro2-diagnostics-0.10.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"proc_macro2_diagnostics\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__proc-macro2-diagnostics-0.10.1//:build_script_build\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__yansi-1.0.1//:yansi\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"colors\",\n \"default\",\n \"yansi\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=proc-macro2-diagnostics\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.10.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"colors\",\n \"default\",\n \"yansi\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__version_check-0.9.5//:version_check\",\n ],\n edition = \"2018\",\n pkg_name = \"proc-macro2-diagnostics\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=proc-macro2-diagnostics\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.10.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"proc_macro2_diagnostics\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__proc-macro2-diagnostics-0.10.1//:build_script_build\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__yansi-1.0.1//:yansi\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"colors\",\n \"default\",\n \"yansi\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=proc-macro2-diagnostics\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.10.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"colors\",\n \"default\",\n \"yansi\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n deps = [\n \"@crate_index__version_check-0.9.5//:version_check\",\n ],\n edition = \"2018\",\n pkg_name = \"proc-macro2-diagnostics\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=proc-macro2-diagnostics\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.10.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__prost-0.13.5": { @@ -7118,7 +6674,7 @@ "https://static.crates.io/crates/prost/0.13.5/download" ], "strip_prefix": "prost-0.13.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prost\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n ],\n proc_macro_deps = [\n \"@crate_index__prost-derive-0.13.5//:prost_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"derive\",\n \"prost-derive\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.13.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prost\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n ],\n proc_macro_deps = [\n \"@crate_index__prost-derive-0.13.5//:prost_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"derive\",\n \"prost-derive\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.13.5\",\n)\n" } }, "crate_index__prost-0.14.3": { @@ -7134,7 +6690,7 @@ "https://static.crates.io/crates/prost/0.14.3/download" ], "strip_prefix": "prost-0.14.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prost\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n ],\n proc_macro_deps = [\n \"@crate_index__prost-derive-0.14.3//:prost_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"derive\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.14.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prost\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n ],\n proc_macro_deps = [\n \"@crate_index__prost-derive-0.14.3//:prost_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"derive\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.14.3\",\n)\n" } }, "crate_index__prost-build-0.13.5": { @@ -7150,7 +6706,7 @@ "https://static.crates.io/crates/prost-build/0.13.5/download" ], "strip_prefix": "prost-build-0.13.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prost_build\",\n deps = [\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__itertools-0.14.0//:itertools\",\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__multimap-0.10.1//:multimap\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__petgraph-0.7.1//:petgraph\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__prost-0.13.5//:prost\",\n \"@crate_index__prost-types-0.13.5//:prost_types\",\n \"@crate_index__regex-1.12.3//:regex\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__tempfile-3.27.0//:tempfile\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"format\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost-build\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.13.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prost_build\",\n deps = [\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__itertools-0.14.0//:itertools\",\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__multimap-0.10.1//:multimap\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__petgraph-0.7.1//:petgraph\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__prost-0.13.5//:prost\",\n \"@crate_index__prost-types-0.13.5//:prost_types\",\n \"@crate_index__regex-1.12.3//:regex\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__tempfile-3.27.0//:tempfile\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"format\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost-build\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.13.5\",\n)\n" } }, "crate_index__prost-build-0.14.3": { @@ -7166,7 +6722,7 @@ "https://static.crates.io/crates/prost-build/0.14.3/download" ], "strip_prefix": "prost-build-0.14.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prost_build\",\n deps = [\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__itertools-0.14.0//:itertools\",\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__multimap-0.10.1//:multimap\",\n \"@crate_index__petgraph-0.8.3//:petgraph\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__prost-0.14.3//:prost\",\n \"@crate_index__prost-types-0.14.3//:prost_types\",\n \"@crate_index__regex-1.12.3//:regex\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__tempfile-3.27.0//:tempfile\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"format\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost-build\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.14.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prost_build\",\n deps = [\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__itertools-0.14.0//:itertools\",\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__multimap-0.10.1//:multimap\",\n \"@crate_index__petgraph-0.8.3//:petgraph\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__prost-0.14.3//:prost\",\n \"@crate_index__prost-types-0.14.3//:prost_types\",\n \"@crate_index__regex-1.12.3//:regex\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__tempfile-3.27.0//:tempfile\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"format\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost-build\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.14.3\",\n)\n" } }, "crate_index__prost-derive-0.13.5": { @@ -7182,7 +6738,7 @@ "https://static.crates.io/crates/prost-derive/0.13.5/download" ], "strip_prefix": "prost-derive-0.13.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"prost_derive\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__itertools-0.14.0//:itertools\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost-derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.13.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"prost_derive\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__itertools-0.14.0//:itertools\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost-derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.13.5\",\n)\n" } }, "crate_index__prost-derive-0.14.3": { @@ -7198,7 +6754,7 @@ "https://static.crates.io/crates/prost-derive/0.14.3/download" ], "strip_prefix": "prost-derive-0.14.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"prost_derive\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__itertools-0.14.0//:itertools\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost-derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.14.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"prost_derive\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__itertools-0.14.0//:itertools\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost-derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.14.3\",\n)\n" } }, "crate_index__prost-types-0.13.5": { @@ -7214,7 +6770,7 @@ "https://static.crates.io/crates/prost-types/0.13.5/download" ], "strip_prefix": "prost-types-0.13.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prost_types\",\n deps = [\n \"@crate_index__prost-0.13.5//:prost\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost-types\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.13.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prost_types\",\n deps = [\n \"@crate_index__prost-0.13.5//:prost\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost-types\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.13.5\",\n)\n" } }, "crate_index__prost-types-0.14.3": { @@ -7230,7 +6786,7 @@ "https://static.crates.io/crates/prost-types/0.14.3/download" ], "strip_prefix": "prost-types-0.14.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prost_types\",\n deps = [\n \"@crate_index__prost-0.14.3//:prost\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost-types\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.14.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"prost_types\",\n deps = [\n \"@crate_index__prost-0.14.3//:prost\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=prost-types\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.14.3\",\n)\n" } }, "crate_index__protoc-gen-prost-0.4.0": { @@ -7246,7 +6802,7 @@ "https://static.crates.io/crates/protoc-gen-prost/0.4.0/download" ], "strip_prefix": "protoc-gen-prost-0.4.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\n \"@rules_rust//rust:defs.bzl\",\n \"rust_binary\",\n \"rust_library\",\n)\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"protoc_gen_prost\",\n deps = [\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__prost-0.13.5//:prost\",\n \"@crate_index__prost-build-0.13.5//:prost_build\",\n \"@crate_index__prost-types-0.13.5//:prost_types\",\n \"@crate_index__regex-1.12.3//:regex\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=protoc-gen-prost\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.0\",\n)\n\nrust_binary(\n name = \"protoc-gen-prost__bin\",\n deps = [\n \":protoc_gen_prost\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__prost-0.13.5//:prost\",\n \"@crate_index__prost-build-0.13.5//:prost_build\",\n \"@crate_index__prost-types-0.13.5//:prost_types\",\n \"@crate_index__regex-1.12.3//:regex\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/main.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=protoc-gen-prost\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\n \"@rules_rust//rust:defs.bzl\",\n \"rust_binary\",\n \"rust_library\",\n)\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"protoc_gen_prost\",\n deps = [\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__prost-0.13.5//:prost\",\n \"@crate_index__prost-build-0.13.5//:prost_build\",\n \"@crate_index__prost-types-0.13.5//:prost_types\",\n \"@crate_index__regex-1.12.3//:regex\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=protoc-gen-prost\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.0\",\n)\n\nrust_binary(\n name = \"protoc-gen-prost__bin\",\n deps = [\n \":protoc_gen_prost\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__prost-0.13.5//:prost\",\n \"@crate_index__prost-build-0.13.5//:prost_build\",\n \"@crate_index__prost-types-0.13.5//:prost_types\",\n \"@crate_index__regex-1.12.3//:regex\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/main.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=protoc-gen-prost\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.0\",\n)\n" } }, "crate_index__protoc-gen-tonic-0.4.1": { @@ -7262,7 +6818,7 @@ "https://static.crates.io/crates/protoc-gen-tonic/0.4.1/download" ], "strip_prefix": "protoc-gen-tonic-0.4.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\n \"@rules_rust//rust:defs.bzl\",\n \"rust_binary\",\n \"rust_library\",\n)\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"protoc_gen_tonic\",\n deps = [\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__prost-0.13.5//:prost\",\n \"@crate_index__prost-build-0.13.5//:prost_build\",\n \"@crate_index__prost-types-0.13.5//:prost_types\",\n \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__regex-1.12.3//:regex\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__tonic-build-0.12.3//:tonic_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=protoc-gen-tonic\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.1\",\n)\n\nrust_binary(\n name = \"protoc-gen-tonic__bin\",\n deps = [\n \":protoc_gen_tonic\",\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__prost-0.13.5//:prost\",\n \"@crate_index__prost-build-0.13.5//:prost_build\",\n \"@crate_index__prost-types-0.13.5//:prost_types\",\n \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__regex-1.12.3//:regex\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__tonic-build-0.12.3//:tonic_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/main.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=protoc-gen-tonic\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\n \"@rules_rust//rust:defs.bzl\",\n \"rust_binary\",\n \"rust_library\",\n)\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"protoc_gen_tonic\",\n deps = [\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__prost-0.13.5//:prost\",\n \"@crate_index__prost-build-0.13.5//:prost_build\",\n \"@crate_index__prost-types-0.13.5//:prost_types\",\n \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__regex-1.12.3//:regex\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__tonic-build-0.12.3//:tonic_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=protoc-gen-tonic\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.1\",\n)\n\nrust_binary(\n name = \"protoc-gen-tonic__bin\",\n deps = [\n \":protoc_gen_tonic\",\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__prost-0.13.5//:prost\",\n \"@crate_index__prost-build-0.13.5//:prost_build\",\n \"@crate_index__prost-types-0.13.5//:prost_types\",\n \"@crate_index__protoc-gen-prost-0.4.0//:protoc_gen_prost\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__regex-1.12.3//:regex\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__tonic-build-0.12.3//:tonic_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/main.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=protoc-gen-tonic\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.1\",\n)\n" } }, "crate_index__quote-1.0.45": { @@ -7278,7 +6834,7 @@ "https://static.crates.io/crates/quote/1.0.45/download" ], "strip_prefix": "quote-1.0.45", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"quote\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"proc-macro\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=quote\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.45\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"proc-macro\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"quote\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=quote\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.45\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"quote\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"proc-macro\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=quote\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.45\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"proc-macro\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"quote\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=quote\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.45\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__r-efi-5.3.0": { @@ -7294,7 +6850,7 @@ "https://static.crates.io/crates/r-efi/5.3.0/download" ], "strip_prefix": "r-efi-5.3.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"r_efi\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=r-efi\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"5.3.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"r_efi\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=r-efi\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"5.3.0\",\n)\n" } }, "crate_index__r-efi-6.0.0": { @@ -7310,7 +6866,7 @@ "https://static.crates.io/crates/r-efi/6.0.0/download" ], "strip_prefix": "r-efi-6.0.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"r_efi\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=r-efi\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"6.0.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"r_efi\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=r-efi\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"6.0.0\",\n)\n" } }, "crate_index__rand-0.9.4": { @@ -7326,7 +6882,7 @@ "https://static.crates.io/crates/rand/0.9.4/download" ], "strip_prefix": "rand-0.9.4", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rand\",\n deps = [\n \"@crate_index__rand_chacha-0.9.0//:rand_chacha\",\n \"@crate_index__rand_core-0.9.5//:rand_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"os_rng\",\n \"small_rng\",\n \"std\",\n \"std_rng\",\n \"thread_rng\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rand\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.9.4\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rand\",\n deps = [\n \"@crate_index__rand_chacha-0.9.0//:rand_chacha\",\n \"@crate_index__rand_core-0.9.5//:rand_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"os_rng\",\n \"small_rng\",\n \"std\",\n \"std_rng\",\n \"thread_rng\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rand\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.9.4\",\n)\n" } }, "crate_index__rand_chacha-0.9.0": { @@ -7342,7 +6898,7 @@ "https://static.crates.io/crates/rand_chacha/0.9.0/download" ], "strip_prefix": "rand_chacha-0.9.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rand_chacha\",\n deps = [\n \"@crate_index__ppv-lite86-0.2.21//:ppv_lite86\",\n \"@crate_index__rand_core-0.9.5//:rand_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rand_chacha\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.9.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rand_chacha\",\n deps = [\n \"@crate_index__ppv-lite86-0.2.21//:ppv_lite86\",\n \"@crate_index__rand_core-0.9.5//:rand_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rand_chacha\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.9.0\",\n)\n" } }, "crate_index__rand_core-0.9.5": { @@ -7358,7 +6914,7 @@ "https://static.crates.io/crates/rand_core/0.9.5/download" ], "strip_prefix": "rand_core-0.9.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rand_core\",\n deps = [\n \"@crate_index__getrandom-0.3.4//:getrandom\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"os_rng\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rand_core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.9.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rand_core\",\n deps = [\n \"@crate_index__getrandom-0.3.4//:getrandom\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"os_rng\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rand_core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.9.5\",\n)\n" } }, "crate_index__regex-1.12.3": { @@ -7374,7 +6930,7 @@ "https://static.crates.io/crates/regex/1.12.3/download" ], "strip_prefix": "regex-1.12.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"regex\",\n deps = [\n \"@crate_index__aho-corasick-1.1.4//:aho_corasick\",\n \"@crate_index__memchr-2.8.0//:memchr\",\n \"@crate_index__regex-automata-0.4.14//:regex_automata\",\n \"@crate_index__regex-syntax-0.8.10//:regex_syntax\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"perf\",\n \"perf-backtrack\",\n \"perf-cache\",\n \"perf-dfa\",\n \"perf-inline\",\n \"perf-literal\",\n \"perf-onepass\",\n \"std\",\n \"unicode-bool\",\n ] + select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"unicode-perl\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=regex\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.12.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"regex\",\n deps = [\n \"@crate_index__aho-corasick-1.1.4//:aho_corasick\",\n \"@crate_index__memchr-2.8.0//:memchr\",\n \"@crate_index__regex-automata-0.4.14//:regex_automata\",\n \"@crate_index__regex-syntax-0.8.10//:regex_syntax\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"perf\",\n \"perf-backtrack\",\n \"perf-cache\",\n \"perf-dfa\",\n \"perf-inline\",\n \"perf-literal\",\n \"perf-onepass\",\n \"std\",\n \"unicode-bool\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"unicode-perl\", # aarch64-unknown-linux-gnu\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"unicode-perl\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=regex\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.12.3\",\n)\n" } }, "crate_index__regex-automata-0.4.14": { @@ -7390,7 +6946,7 @@ "https://static.crates.io/crates/regex-automata/0.4.14/download" ], "strip_prefix": "regex-automata-0.4.14", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"regex_automata\",\n deps = [\n \"@crate_index__aho-corasick-1.1.4//:aho_corasick\",\n \"@crate_index__memchr-2.8.0//:memchr\",\n \"@crate_index__regex-syntax-0.8.10//:regex_syntax\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"dfa-onepass\",\n \"hybrid\",\n \"meta\",\n \"nfa-backtrack\",\n \"nfa-pikevm\",\n \"nfa-thompson\",\n \"perf-inline\",\n \"perf-literal\",\n \"perf-literal-multisubstring\",\n \"perf-literal-substring\",\n \"std\",\n \"syntax\",\n \"unicode-bool\",\n ] + select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"unicode-perl\", # x86_64-unknown-linux-gnu\n \"unicode-word-boundary\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=regex-automata\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.14\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"regex_automata\",\n deps = [\n \"@crate_index__aho-corasick-1.1.4//:aho_corasick\",\n \"@crate_index__memchr-2.8.0//:memchr\",\n \"@crate_index__regex-syntax-0.8.10//:regex_syntax\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"dfa-build\",\n \"dfa-onepass\",\n \"dfa-search\",\n \"hybrid\",\n \"meta\",\n \"nfa-backtrack\",\n \"nfa-pikevm\",\n \"nfa-thompson\",\n \"perf-inline\",\n \"perf-literal\",\n \"perf-literal-multisubstring\",\n \"perf-literal-substring\",\n \"std\",\n \"syntax\",\n \"unicode-bool\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"unicode-perl\", # aarch64-unknown-linux-gnu\n \"unicode-word-boundary\", # aarch64-unknown-linux-gnu\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"unicode-perl\", # x86_64-unknown-linux-gnu\n \"unicode-word-boundary\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=regex-automata\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.14\",\n)\n" } }, "crate_index__regex-syntax-0.8.10": { @@ -7406,7 +6962,7 @@ "https://static.crates.io/crates/regex-syntax/0.8.10/download" ], "strip_prefix": "regex-syntax-0.8.10", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"regex_syntax\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n \"unicode-bool\",\n ] + select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"unicode-perl\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=regex-syntax\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.10\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"regex_syntax\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"std\",\n \"unicode-bool\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"unicode-perl\", # aarch64-unknown-linux-gnu\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"unicode-perl\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=regex-syntax\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.10\",\n)\n" } }, "crate_index__rustc-hash-1.1.0": { @@ -7422,7 +6978,7 @@ "https://static.crates.io/crates/rustc-hash/1.1.0/download" ], "strip_prefix": "rustc-hash-1.1.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rustc_hash\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustc-hash\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rustc_hash\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustc-hash\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.0\",\n)\n" } }, "crate_index__rustc-hash-2.1.2": { @@ -7438,7 +6994,7 @@ "https://static.crates.io/crates/rustc-hash/2.1.2/download" ], "strip_prefix": "rustc-hash-2.1.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rustc_hash\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustc-hash\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.1.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rustc_hash\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustc-hash\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.1.2\",\n)\n" } }, "crate_index__rustc_version-0.4.1": { @@ -7454,7 +7010,7 @@ "https://static.crates.io/crates/rustc_version/0.4.1/download" ], "strip_prefix": "rustc_version-0.4.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rustc_version\",\n deps = [\n \"@crate_index__semver-1.0.28//:semver\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustc_version\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rustc_version\",\n deps = [\n \"@crate_index__semver-1.0.28//:semver\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustc_version\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.1\",\n)\n" } }, "crate_index__rustix-0.38.44": { @@ -7470,7 +7026,7 @@ "https://static.crates.io/crates/rustix/0.38.44/download" ], "strip_prefix": "rustix-0.38.44", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rustix\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__rustix-0.38.44//:build_script_build\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__errno-0.3.14//:errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__linux-raw-sys-0.4.15//:linux_raw_sys\", # cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [\n \"@crate_index__errno-0.3.14//:errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n ],\n \"//conditions:default\": [],\n }),\n aliases = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": {\n \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n },\n \"@rules_rust//rust/platform:x86_64-unknown-none\": {\n \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n },\n \"//conditions:default\": {},\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"fs\",\n \"libc-extra-traits\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.38.44\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"fs\",\n \"libc-extra-traits\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"rustix\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.38.44\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rustix\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__rustix-0.38.44//:build_script_build\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__linux-raw-sys-0.4.15//:linux_raw_sys\", # cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__errno-0.3.14//:errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__errno-0.3.14//:errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__linux-raw-sys-0.4.15//:linux_raw_sys\", # cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [\n \"@crate_index__errno-0.3.14//:errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n ],\n \"//conditions:default\": [],\n }),\n aliases = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": {\n \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n },\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": {\n \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n },\n \"@rules_rust//rust/platform:x86_64-unknown-none\": {\n \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", target_arch = \"s390x\"), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n },\n \"//conditions:default\": {},\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"fs\",\n \"libc-extra-traits\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.38.44\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"fs\",\n \"libc-extra-traits\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"rustix\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.38.44\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__rustix-1.1.4": { @@ -7486,7 +7042,7 @@ "https://static.crates.io/crates/rustix/1.1.4/download" ], "strip_prefix": "rustix-1.1.4", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rustix\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__rustix-1.1.4//:build_script_build\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__errno-0.3.14//:errno\", # aarch64-unknown-nto-qnx710, cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n \"@crate_index__libc-0.2.186//:libc\", # aarch64-unknown-nto-qnx710, cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__linux-raw-sys-0.12.1//:linux_raw_sys\", # cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [\n \"@crate_index__errno-0.3.14//:errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n ],\n \"//conditions:default\": [],\n }),\n aliases = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": {\n \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\", # aarch64-unknown-nto-qnx710, cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n },\n \"@rules_rust//rust/platform:x86_64-unknown-none\": {\n \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n },\n \"//conditions:default\": {},\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"fs\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.4\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"fs\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"rustix\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.1.4\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"rustix\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__rustix-1.1.4//:build_script_build\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__linux-raw-sys-0.12.1//:linux_raw_sys\", # cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__errno-0.3.14//:errno\", # aarch64-unknown-nto-qnx710, cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n \"@crate_index__libc-0.2.186//:libc\", # aarch64-unknown-nto-qnx710, cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__errno-0.3.14//:errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))))), x86_64-pc-nto-qnx710\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))))), x86_64-pc-nto-qnx710\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__linux-raw-sys-0.12.1//:linux_raw_sys\", # cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [\n \"@crate_index__errno-0.3.14//:errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n \"@crate_index__libc-0.2.186//:libc\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n ],\n \"//conditions:default\": [],\n }),\n aliases = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": {\n \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\", # aarch64-unknown-nto-qnx710, cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n },\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": {\n \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"))))))), x86_64-pc-nto-qnx710\n },\n \"@rules_rust//rust/platform:x86_64-unknown-none\": {\n \"@crate_index__errno-0.3.14//:errno\": \"libc_errno\", # cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_endian = \"little\", any(target_arch = \"s390x\", target_arch = \"powerpc\")), any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"riscv64\", all(rustix_use_experimental_asm, target_arch = \"powerpc\"), all(rustix_use_experimental_asm, target_arch = \"powerpc64\"), all(rustix_use_experimental_asm, target_arch = \"s390x\"), all(rustix_use_experimental_asm, target_arch = \"mips\"), all(rustix_use_experimental_asm, target_arch = \"mips32r6\"), all(rustix_use_experimental_asm, target_arch = \"mips64\"), all(rustix_use_experimental_asm, target_arch = \"mips64r6\"), target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\")))))))\n },\n \"//conditions:default\": {},\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"fs\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.4\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"fs\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"rustix\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.1.4\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__rustversion-1.0.22": { @@ -7502,7 +7058,23 @@ "https://static.crates.io/crates/rustversion/1.0.22/download" ], "strip_prefix": "rustversion-1.0.22", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"rustversion\",\n deps = [\n \"@crate_index__rustversion-1.0.22//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustversion\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.22\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build/build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"rustversion\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustversion\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.22\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"rustversion\",\n deps = [\n \"@crate_index__rustversion-1.0.22//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustversion\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.22\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build/build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"rustversion\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=rustversion\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.22\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + } + }, + "crate_index__scoped-tls-1.0.1": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/scoped-tls/1.0.1/download" + ], + "strip_prefix": "scoped-tls-1.0.1", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"scoped_tls\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=scoped-tls\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.1\",\n)\n" } }, "crate_index__scopeguard-1.2.0": { @@ -7518,7 +7090,7 @@ "https://static.crates.io/crates/scopeguard/1.2.0/download" ], "strip_prefix": "scopeguard-1.2.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"scopeguard\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=scopeguard\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.2.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"scopeguard\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=scopeguard\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.2.0\",\n)\n" } }, "crate_index__semver-1.0.28": { @@ -7534,7 +7106,7 @@ "https://static.crates.io/crates/semver/1.0.28/download" ], "strip_prefix": "semver-1.0.28", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"semver\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=semver\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.28\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"semver\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=semver\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.28\",\n)\n" } }, "crate_index__serde-1.0.228": { @@ -7550,7 +7122,7 @@ "https://static.crates.io/crates/serde/1.0.228/download" ], "strip_prefix": "serde-1.0.228", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"serde\",\n deps = [\n \"@crate_index__serde-1.0.228//:build_script_build\",\n \"@crate_index__serde_core-1.0.228//:serde_core\",\n ],\n proc_macro_deps = [\n \"@crate_index__serde_derive-1.0.228//:serde_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"derive\",\n \"rc\",\n \"serde_derive\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.228\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"derive\",\n \"rc\",\n \"serde_derive\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"serde\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.228\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"serde\",\n deps = [\n \"@crate_index__serde-1.0.228//:build_script_build\",\n \"@crate_index__serde_core-1.0.228//:serde_core\",\n ],\n proc_macro_deps = [\n \"@crate_index__serde_derive-1.0.228//:serde_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"derive\",\n \"rc\",\n \"serde_derive\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.228\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"derive\",\n \"rc\",\n \"serde_derive\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"serde\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.228\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__serde_core-1.0.228": { @@ -7566,7 +7138,7 @@ "https://static.crates.io/crates/serde_core/1.0.228/download" ], "strip_prefix": "serde_core-1.0.228", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"serde_core\",\n deps = [\n \"@crate_index__serde_core-1.0.228//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"rc\",\n \"result\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde_core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.228\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"rc\",\n \"result\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"serde_core\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde_core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.228\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"serde_core\",\n deps = [\n \"@crate_index__serde_core-1.0.228//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"rc\",\n \"result\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde_core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.228\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"rc\",\n \"result\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"serde_core\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde_core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.228\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__serde_derive-1.0.228": { @@ -7582,7 +7154,7 @@ "https://static.crates.io/crates/serde_derive/1.0.228/download" ], "strip_prefix": "serde_derive-1.0.228", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"serde_derive\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde_derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.228\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"serde_derive\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde_derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.228\",\n)\n" } }, "crate_index__serde_json-1.0.149": { @@ -7598,7 +7170,7 @@ "https://static.crates.io/crates/serde_json/1.0.149/download" ], "strip_prefix": "serde_json-1.0.149", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"serde_json\",\n deps = [\n \"@crate_index__itoa-1.0.18//:itoa\",\n \"@crate_index__memchr-2.8.0//:memchr\",\n \"@crate_index__serde_core-1.0.228//:serde_core\",\n \"@crate_index__serde_json-1.0.149//:build_script_build\",\n \"@crate_index__zmij-1.0.21//:zmij\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde_json\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.149\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"serde_json\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde_json\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.149\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"serde_json\",\n deps = [\n \"@crate_index__itoa-1.0.18//:itoa\",\n \"@crate_index__memchr-2.8.0//:memchr\",\n \"@crate_index__serde_core-1.0.228//:serde_core\",\n \"@crate_index__serde_json-1.0.149//:build_script_build\",\n \"@crate_index__zmij-1.0.21//:zmij\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde_json\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.149\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"serde_json\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde_json\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.149\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__serde_spanned-0.6.9": { @@ -7614,7 +7186,7 @@ "https://static.crates.io/crates/serde_spanned/0.6.9/download" ], "strip_prefix": "serde_spanned-0.6.9", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"serde_spanned\",\n deps = [\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde_spanned\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.9\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"serde_spanned\",\n deps = [\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=serde_spanned\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.9\",\n)\n" } }, "crate_index__sha1_smol-1.0.1": { @@ -7630,7 +7202,7 @@ "https://static.crates.io/crates/sha1_smol/1.0.1/download" ], "strip_prefix": "sha1_smol-1.0.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"sha1_smol\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=sha1_smol\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"sha1_smol\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=sha1_smol\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.1\",\n)\n" } }, "crate_index__sharded-slab-0.1.7": { @@ -7646,7 +7218,7 @@ "https://static.crates.io/crates/sharded-slab/0.1.7/download" ], "strip_prefix": "sharded-slab-0.1.7", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"sharded_slab\",\n deps = [\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=sharded-slab\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.7\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"sharded_slab\",\n deps = [\n \"@crate_index__lazy_static-1.5.0//:lazy_static\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=sharded-slab\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.7\",\n)\n" } }, "crate_index__shlex-1.3.0": { @@ -7662,7 +7234,7 @@ "https://static.crates.io/crates/shlex/1.3.0/download" ], "strip_prefix": "shlex-1.3.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"shlex\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=shlex\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.3.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"shlex\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=shlex\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.3.0\",\n)\n" } }, "crate_index__signal-hook-0.3.18": { @@ -7678,7 +7250,7 @@ "https://static.crates.io/crates/signal-hook/0.3.18/download" ], "strip_prefix": "signal-hook-0.3.18", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"signal_hook\",\n deps = [\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__signal-hook-0.3.18//:build_script_build\",\n \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"channel\",\n \"default\",\n \"iterator\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=signal-hook\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.18\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"channel\",\n \"default\",\n \"iterator\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"signal-hook\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=signal-hook\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.3.18\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"signal_hook\",\n deps = [\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__signal-hook-0.3.18//:build_script_build\",\n \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"channel\",\n \"default\",\n \"iterator\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=signal-hook\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.18\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"channel\",\n \"default\",\n \"iterator\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"signal-hook\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=signal-hook\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.3.18\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__signal-hook-registry-1.4.8": { @@ -7694,7 +7266,7 @@ "https://static.crates.io/crates/signal-hook-registry/1.4.8/download" ], "strip_prefix": "signal-hook-registry-1.4.8", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"signal_hook_registry\",\n deps = [\n \"@crate_index__errno-0.3.14//:errno\",\n \"@crate_index__libc-0.2.186//:libc\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=signal-hook-registry\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.4.8\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"signal_hook_registry\",\n deps = [\n \"@crate_index__errno-0.3.14//:errno\",\n \"@crate_index__libc-0.2.186//:libc\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=signal-hook-registry\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.4.8\",\n)\n" } }, "crate_index__slab-0.4.12": { @@ -7710,7 +7282,7 @@ "https://static.crates.io/crates/slab/0.4.12/download" ], "strip_prefix": "slab-0.4.12", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"slab\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=slab\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.12\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"slab\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=slab\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.12\",\n)\n" } }, "crate_index__smallvec-1.15.1": { @@ -7726,7 +7298,23 @@ "https://static.crates.io/crates/smallvec/1.15.1/download" ], "strip_prefix": "smallvec-1.15.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"smallvec\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"const_generics\",\n \"const_new\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=smallvec\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.15.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"smallvec\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"const_generics\",\n \"const_new\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=smallvec\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.15.1\",\n)\n" + } + }, + "crate_index__smawk-0.3.2": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/smawk/0.3.2/download" + ], + "strip_prefix": "smawk-0.3.2", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"smawk\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=smawk\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.2\",\n)\n" } }, "crate_index__socket2-0.6.3": { @@ -7742,7 +7330,7 @@ "https://static.crates.io/crates/socket2/0.6.3/download" ], "strip_prefix": "socket2-0.6.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"socket2\",\n deps = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(unix, target_os = \"wasi\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(unix, target_os = \"wasi\"))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"all\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=socket2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"socket2\",\n deps = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(unix, target_os = \"wasi\"))\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(unix, target_os = \"wasi\"))\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(unix, target_os = \"wasi\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(any(unix, target_os = \"wasi\"))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"all\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=socket2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.3\",\n)\n" } }, "crate_index__spin-0.9.8": { @@ -7758,7 +7346,7 @@ "https://static.crates.io/crates/spin/0.9.8/download" ], "strip_prefix": "spin-0.9.8", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"spin\",\n deps = [\n \"@crate_index__lock_api-0.4.14//:lock_api\",\n ],\n aliases = {\n \"@crate_index__lock_api-0.4.14//:lock_api\": \"lock_api_crate\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"barrier\",\n \"default\",\n \"lazy\",\n \"lock_api\",\n \"lock_api_crate\",\n \"mutex\",\n \"once\",\n \"rwlock\",\n \"spin_mutex\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=spin\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.9.8\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"spin\",\n deps = [\n \"@crate_index__lock_api-0.4.14//:lock_api\",\n ],\n aliases = {\n \"@crate_index__lock_api-0.4.14//:lock_api\": \"lock_api_crate\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"barrier\",\n \"default\",\n \"lazy\",\n \"lock_api\",\n \"lock_api_crate\",\n \"mutex\",\n \"once\",\n \"rwlock\",\n \"spin_mutex\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=spin\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.9.8\",\n)\n" } }, "crate_index__stable_deref_trait-1.2.1": { @@ -7774,7 +7362,7 @@ "https://static.crates.io/crates/stable_deref_trait/1.2.1/download" ], "strip_prefix": "stable_deref_trait-1.2.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"stable_deref_trait\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=stable_deref_trait\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.2.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"stable_deref_trait\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=stable_deref_trait\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.2.1\",\n)\n" } }, "crate_index__static_assertions-1.1.0": { @@ -7790,7 +7378,7 @@ "https://static.crates.io/crates/static_assertions/1.1.0/download" ], "strip_prefix": "static_assertions-1.1.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"static_assertions\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=static_assertions\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"static_assertions\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=static_assertions\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.0\",\n)\n" } }, "crate_index__strsim-0.11.1": { @@ -7806,7 +7394,7 @@ "https://static.crates.io/crates/strsim/0.11.1/download" ], "strip_prefix": "strsim-0.11.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"strsim\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=strsim\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.11.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"strsim\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=strsim\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.11.1\",\n)\n" } }, "crate_index__syn-2.0.117": { @@ -7822,7 +7410,7 @@ "https://static.crates.io/crates/syn/2.0.117/download" ], "strip_prefix": "syn-2.0.117", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"syn\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__unicode-ident-1.0.24//:unicode_ident\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"clone-impls\",\n \"default\",\n \"derive\",\n \"full\",\n \"parsing\",\n \"printing\",\n \"proc-macro\",\n ] + select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"extra-traits\", # x86_64-unknown-linux-gnu\n \"visit\", # x86_64-unknown-linux-gnu\n \"visit-mut\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=syn\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.0.117\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"syn\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__unicode-ident-1.0.24//:unicode_ident\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"clone-impls\",\n \"default\",\n \"derive\",\n \"full\",\n \"parsing\",\n \"printing\",\n \"proc-macro\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"extra-traits\", # aarch64-unknown-linux-gnu\n \"visit\", # aarch64-unknown-linux-gnu\n \"visit-mut\", # aarch64-unknown-linux-gnu\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"extra-traits\", # x86_64-unknown-linux-gnu\n \"visit\", # x86_64-unknown-linux-gnu\n \"visit-mut\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=syn\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.0.117\",\n)\n" } }, "crate_index__sync_wrapper-1.0.2": { @@ -7838,7 +7426,7 @@ "https://static.crates.io/crates/sync_wrapper/1.0.2/download" ], "strip_prefix": "sync_wrapper-1.0.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"sync_wrapper\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=sync_wrapper\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"sync_wrapper\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=sync_wrapper\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.2\",\n)\n" } }, "crate_index__tempfile-3.27.0": { @@ -7854,7 +7442,7 @@ "https://static.crates.io/crates/tempfile/3.27.0/download" ], "strip_prefix": "tempfile-3.27.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tempfile\",\n deps = [\n \"@crate_index__fastrand-2.4.1//:fastrand\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__getrandom-0.4.2//:getrandom\", # aarch64-unknown-nto-qnx710\n \"@crate_index__rustix-1.1.4//:rustix\", # cfg(any(unix, target_os = \"wasi\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__getrandom-0.4.2//:getrandom\", # x86_64-unknown-linux-gnu\n \"@crate_index__rustix-1.1.4//:rustix\", # cfg(any(unix, target_os = \"wasi\"))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"getrandom\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tempfile\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"3.27.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tempfile\",\n deps = [\n \"@crate_index__fastrand-2.4.1//:fastrand\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__getrandom-0.4.2//:getrandom\", # aarch64-unknown-linux-gnu\n \"@crate_index__rustix-1.1.4//:rustix\", # cfg(any(unix, target_os = \"wasi\"))\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__getrandom-0.4.2//:getrandom\", # aarch64-unknown-nto-qnx710\n \"@crate_index__rustix-1.1.4//:rustix\", # cfg(any(unix, target_os = \"wasi\"))\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__getrandom-0.4.2//:getrandom\", # x86_64-pc-nto-qnx710\n \"@crate_index__rustix-1.1.4//:rustix\", # cfg(any(unix, target_os = \"wasi\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__getrandom-0.4.2//:getrandom\", # x86_64-unknown-linux-gnu\n \"@crate_index__rustix-1.1.4//:rustix\", # cfg(any(unix, target_os = \"wasi\"))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"getrandom\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tempfile\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"3.27.0\",\n)\n" } }, "crate_index__termsize-0.1.9": { @@ -7870,7 +7458,23 @@ "https://static.crates.io/crates/termsize/0.1.9/download" ], "strip_prefix": "termsize-0.1.9", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"termsize\",\n deps = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=termsize\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.9\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"termsize\",\n deps = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # cfg(unix)\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=termsize\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.9\",\n)\n" + } + }, + "crate_index__textwrap-0.16.2": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "c13547615a44dc9c452a8a534638acdf07120d4b6847c8178705da06306a3057", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/textwrap/0.16.2/download" + ], + "strip_prefix": "textwrap-0.16.2", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"textwrap\",\n deps = [\n \"@crate_index__smawk-0.3.2//:smawk\",\n \"@crate_index__unicode-linebreak-0.1.5//:unicode_linebreak\",\n \"@crate_index__unicode-width-0.2.2//:unicode_width\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"smawk\",\n \"unicode-linebreak\",\n \"unicode-width\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=textwrap\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.16.2\",\n)\n" } }, "crate_index__thiserror-2.0.18": { @@ -7886,7 +7490,7 @@ "https://static.crates.io/crates/thiserror/2.0.18/download" ], "strip_prefix": "thiserror-2.0.18", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"thiserror\",\n deps = [\n \"@crate_index__thiserror-2.0.18//:build_script_build\",\n ],\n proc_macro_deps = [\n \"@crate_index__thiserror-impl-2.0.18//:thiserror_impl\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=thiserror\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.0.18\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"thiserror\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=thiserror\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"2.0.18\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"thiserror\",\n deps = [\n \"@crate_index__thiserror-2.0.18//:build_script_build\",\n ],\n proc_macro_deps = [\n \"@crate_index__thiserror-impl-2.0.18//:thiserror_impl\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=thiserror\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.0.18\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"thiserror\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=thiserror\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"2.0.18\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__thiserror-impl-2.0.18": { @@ -7902,7 +7506,7 @@ "https://static.crates.io/crates/thiserror-impl/2.0.18/download" ], "strip_prefix": "thiserror-impl-2.0.18", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"thiserror_impl\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=thiserror-impl\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.0.18\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"thiserror_impl\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=thiserror-impl\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.0.18\",\n)\n" } }, "crate_index__thread_local-1.1.9": { @@ -7918,7 +7522,7 @@ "https://static.crates.io/crates/thread_local/1.1.9/download" ], "strip_prefix": "thread_local-1.1.9", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"thread_local\",\n deps = [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=thread_local\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.9\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"thread_local\",\n deps = [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=thread_local\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.9\",\n)\n" } }, "crate_index__time-0.3.47": { @@ -7934,7 +7538,7 @@ "https://static.crates.io/crates/time/0.3.47/download" ], "strip_prefix": "time-0.3.47", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"time\",\n deps = [\n \"@crate_index__deranged-0.5.8//:deranged\",\n \"@crate_index__itoa-1.0.18//:itoa\",\n \"@crate_index__num-conv-0.2.1//:num_conv\",\n \"@crate_index__powerfmt-0.2.0//:powerfmt\",\n \"@crate_index__serde_core-1.0.228//:serde_core\",\n \"@crate_index__time-core-0.1.8//:time_core\",\n ],\n proc_macro_deps = [\n \"@crate_index__time-macros-0.2.27//:time_macros\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"formatting\",\n \"macros\",\n \"serde\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=time\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.47\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"time\",\n deps = [\n \"@crate_index__deranged-0.5.8//:deranged\",\n \"@crate_index__itoa-1.0.18//:itoa\",\n \"@crate_index__num-conv-0.2.1//:num_conv\",\n \"@crate_index__powerfmt-0.2.0//:powerfmt\",\n \"@crate_index__serde_core-1.0.228//:serde_core\",\n \"@crate_index__time-core-0.1.8//:time_core\",\n ],\n proc_macro_deps = [\n \"@crate_index__time-macros-0.2.27//:time_macros\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"formatting\",\n \"macros\",\n \"serde\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=time\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.47\",\n)\n" } }, "crate_index__time-core-0.1.8": { @@ -7950,7 +7554,7 @@ "https://static.crates.io/crates/time-core/0.1.8/download" ], "strip_prefix": "time-core-0.1.8", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"time_core\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=time-core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.8\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"time_core\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=time-core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.8\",\n)\n" } }, "crate_index__time-macros-0.2.27": { @@ -7966,7 +7570,7 @@ "https://static.crates.io/crates/time-macros/0.2.27/download" ], "strip_prefix": "time-macros-0.2.27", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"time_macros\",\n deps = [\n \"@crate_index__num-conv-0.2.1//:num_conv\",\n \"@crate_index__time-core-0.1.8//:time_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"formatting\",\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=time-macros\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.27\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"time_macros\",\n deps = [\n \"@crate_index__num-conv-0.2.1//:num_conv\",\n \"@crate_index__time-core-0.1.8//:time_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"formatting\",\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=time-macros\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.27\",\n)\n" } }, "crate_index__tiny-fn-0.1.9": { @@ -7982,7 +7586,7 @@ "https://static.crates.io/crates/tiny-fn/0.1.9/download" ], "strip_prefix": "tiny-fn-0.1.9", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tiny_fn\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tiny-fn\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.9\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tiny_fn\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tiny-fn\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.9\",\n)\n" } }, "crate_index__tinyjson-2.5.1": { @@ -7998,7 +7602,7 @@ "https://static.crates.io/crates/tinyjson/2.5.1/download" ], "strip_prefix": "tinyjson-2.5.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tinyjson\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tinyjson\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.5.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tinyjson\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tinyjson\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.5.1\",\n)\n" } }, "crate_index__tokio-1.52.1": { @@ -8014,7 +7618,7 @@ "https://static.crates.io/crates/tokio/1.52.1/download" ], "strip_prefix": "tokio-1.52.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tokio\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__mio-1.2.0//:mio\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__socket2-0.6.3//:socket2\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # aarch64-unknown-nto-qnx710\n \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\", # aarch64-unknown-nto-qnx710\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # x86_64-unknown-linux-gnu\n \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n proc_macro_deps = [\n \"@crate_index__tokio-macros-2.7.0//:tokio_macros\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"bytes\",\n \"default\",\n \"io-util\",\n \"libc\",\n \"macros\",\n \"mio\",\n \"net\",\n \"rt\",\n \"rt-multi-thread\",\n \"signal\",\n \"signal-hook-registry\",\n \"socket2\",\n \"sync\",\n \"time\",\n \"tokio-macros\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tokio\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.52.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tokio\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__mio-1.2.0//:mio\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__socket2-0.6.3//:socket2\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # aarch64-unknown-linux-gnu\n \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\", # aarch64-unknown-linux-gnu\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # aarch64-unknown-nto-qnx710\n \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\", # aarch64-unknown-nto-qnx710\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__libc-0.2.186//:libc\", # x86_64-pc-nto-qnx710\n \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\", # x86_64-pc-nto-qnx710\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__libc-0.2.186//:libc\", # x86_64-unknown-linux-gnu\n \"@crate_index__signal-hook-registry-1.4.8//:signal_hook_registry\", # x86_64-unknown-linux-gnu\n ],\n \"//conditions:default\": [],\n }),\n proc_macro_deps = [\n \"@crate_index__tokio-macros-2.7.0//:tokio_macros\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"bytes\",\n \"default\",\n \"io-util\",\n \"libc\",\n \"macros\",\n \"mio\",\n \"net\",\n \"rt\",\n \"rt-multi-thread\",\n \"signal\",\n \"signal-hook-registry\",\n \"socket2\",\n \"sync\",\n \"time\",\n \"tokio-macros\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tokio\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.52.1\",\n)\n" } }, "crate_index__tokio-macros-2.7.0": { @@ -8030,7 +7634,7 @@ "https://static.crates.io/crates/tokio-macros/2.7.0/download" ], "strip_prefix": "tokio-macros-2.7.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"tokio_macros\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tokio-macros\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.7.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"tokio_macros\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tokio-macros\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"2.7.0\",\n)\n" } }, "crate_index__tokio-seqpacket-0.8.1": { @@ -8046,7 +7650,7 @@ "https://static.crates.io/crates/tokio-seqpacket/0.8.1/download" ], "strip_prefix": "tokio-seqpacket-0.8.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tokio_seqpacket\",\n deps = [\n \"@crate_index__filedesc-0.6.3//:filedesc\",\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tokio-seqpacket\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tokio_seqpacket\",\n deps = [\n \"@crate_index__filedesc-0.6.3//:filedesc\",\n \"@crate_index__libc-0.2.186//:libc\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tokio-seqpacket\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.1\",\n)\n" } }, "crate_index__tokio-stream-0.1.18": { @@ -8062,7 +7666,7 @@ "https://static.crates.io/crates/tokio-stream/0.1.18/download" ], "strip_prefix": "tokio-stream-0.1.18", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tokio_stream\",\n deps = [\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"net\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tokio-stream\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.18\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tokio_stream\",\n deps = [\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"net\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tokio-stream\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.18\",\n)\n" } }, "crate_index__tokio-util-0.7.18": { @@ -8078,7 +7682,7 @@ "https://static.crates.io/crates/tokio-util/0.7.18/download" ], "strip_prefix": "tokio-util-0.7.18", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tokio_util\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-sink-0.3.32//:futures_sink\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"codec\",\n \"default\",\n \"io\",\n \"net\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tokio-util\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.18\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tokio_util\",\n deps = [\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-sink-0.3.32//:futures_sink\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"codec\",\n \"default\",\n \"io\",\n \"net\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tokio-util\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.18\",\n)\n" } }, "crate_index__toml-0.8.23": { @@ -8094,7 +7698,7 @@ "https://static.crates.io/crates/toml/0.8.23/download" ], "strip_prefix": "toml-0.8.23", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"toml\",\n deps = [\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__serde_spanned-0.6.9//:serde_spanned\",\n \"@crate_index__toml_datetime-0.6.11//:toml_datetime\",\n \"@crate_index__toml_edit-0.22.27//:toml_edit\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"display\",\n \"parse\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=toml\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.23\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"toml\",\n deps = [\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__serde_spanned-0.6.9//:serde_spanned\",\n \"@crate_index__toml_datetime-0.6.11//:toml_datetime\",\n \"@crate_index__toml_edit-0.22.27//:toml_edit\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"display\",\n \"parse\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=toml\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.23\",\n)\n" } }, "crate_index__toml_datetime-0.6.11": { @@ -8110,7 +7714,7 @@ "https://static.crates.io/crates/toml_datetime/0.6.11/download" ], "strip_prefix": "toml_datetime-0.6.11", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"toml_datetime\",\n deps = [\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=toml_datetime\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.11\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"toml_datetime\",\n deps = [\n \"@crate_index__serde-1.0.228//:serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=toml_datetime\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.6.11\",\n)\n" } }, "crate_index__toml_edit-0.22.27": { @@ -8126,7 +7730,7 @@ "https://static.crates.io/crates/toml_edit/0.22.27/download" ], "strip_prefix": "toml_edit-0.22.27", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"toml_edit\",\n deps = [\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__serde_spanned-0.6.9//:serde_spanned\",\n \"@crate_index__toml_datetime-0.6.11//:toml_datetime\",\n \"@crate_index__toml_write-0.1.2//:toml_write\",\n \"@crate_index__winnow-0.7.15//:winnow\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"display\",\n \"parse\",\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=toml_edit\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.22.27\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"toml_edit\",\n deps = [\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__serde_spanned-0.6.9//:serde_spanned\",\n \"@crate_index__toml_datetime-0.6.11//:toml_datetime\",\n \"@crate_index__toml_write-0.1.2//:toml_write\",\n \"@crate_index__winnow-0.7.15//:winnow\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"display\",\n \"parse\",\n \"serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=toml_edit\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.22.27\",\n)\n" } }, "crate_index__toml_write-0.1.2": { @@ -8142,7 +7746,7 @@ "https://static.crates.io/crates/toml_write/0.1.2/download" ], "strip_prefix": "toml_write-0.1.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"toml_write\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=toml_write\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"toml_write\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=toml_write\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.2\",\n)\n" } }, "crate_index__tonic-0.14.5": { @@ -8158,7 +7762,7 @@ "https://static.crates.io/crates/tonic/0.14.5/download" ], "strip_prefix": "tonic-0.14.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tonic\",\n deps = [\n \"@crate_index__axum-0.8.9//:axum\",\n \"@crate_index__base64-0.22.1//:base64\",\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__h2-0.4.13//:h2\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__http-body-1.0.1//:http_body\",\n \"@crate_index__http-body-util-0.1.3//:http_body_util\",\n \"@crate_index__hyper-1.9.0//:hyper\",\n \"@crate_index__hyper-timeout-0.5.2//:hyper_timeout\",\n \"@crate_index__hyper-util-0.1.20//:hyper_util\",\n \"@crate_index__percent-encoding-2.3.2//:percent_encoding\",\n \"@crate_index__pin-project-1.1.11//:pin_project\",\n \"@crate_index__socket2-0.6.3//:socket2\",\n \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n \"@crate_index__tokio-stream-0.1.18//:tokio_stream\",\n \"@crate_index__tower-0.5.3//:tower\",\n \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n \"@crate_index__tower-service-0.3.3//:tower_service\",\n \"@crate_index__tracing-0.1.44//:tracing\",\n ],\n proc_macro_deps = [\n \"@crate_index__async-trait-0.1.89//:async_trait\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"channel\",\n \"codegen\",\n \"default\",\n \"router\",\n \"server\",\n \"transport\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tonic\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.14.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tonic\",\n deps = [\n \"@crate_index__axum-0.8.9//:axum\",\n \"@crate_index__base64-0.22.1//:base64\",\n \"@crate_index__bytes-1.11.1//:bytes\",\n \"@crate_index__h2-0.4.13//:h2\",\n \"@crate_index__http-1.4.0//:http\",\n \"@crate_index__http-body-1.0.1//:http_body\",\n \"@crate_index__http-body-util-0.1.3//:http_body_util\",\n \"@crate_index__hyper-1.9.0//:hyper\",\n \"@crate_index__hyper-timeout-0.5.2//:hyper_timeout\",\n \"@crate_index__hyper-util-0.1.20//:hyper_util\",\n \"@crate_index__percent-encoding-2.3.2//:percent_encoding\",\n \"@crate_index__pin-project-1.1.11//:pin_project\",\n \"@crate_index__socket2-0.6.3//:socket2\",\n \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n \"@crate_index__tokio-stream-0.1.18//:tokio_stream\",\n \"@crate_index__tower-0.5.3//:tower\",\n \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n \"@crate_index__tower-service-0.3.3//:tower_service\",\n \"@crate_index__tracing-0.1.44//:tracing\",\n ],\n proc_macro_deps = [\n \"@crate_index__async-trait-0.1.89//:async_trait\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"channel\",\n \"codegen\",\n \"default\",\n \"router\",\n \"server\",\n \"transport\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tonic\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.14.5\",\n)\n" } }, "crate_index__tonic-build-0.12.3": { @@ -8174,7 +7778,7 @@ "https://static.crates.io/crates/tonic-build/0.12.3/download" ], "strip_prefix": "tonic-build-0.12.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tonic_build\",\n deps = [\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__prost-build-0.13.5//:prost_build\",\n \"@crate_index__prost-types-0.13.5//:prost_types\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"prost\",\n \"prost-build\",\n \"transport\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tonic-build\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.12.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tonic_build\",\n deps = [\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__prost-build-0.13.5//:prost_build\",\n \"@crate_index__prost-types-0.13.5//:prost_types\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"prost\",\n \"prost-build\",\n \"transport\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tonic-build\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.12.3\",\n)\n" } }, "crate_index__tower-0.5.3": { @@ -8190,7 +7794,7 @@ "https://static.crates.io/crates/tower/0.5.3/download" ], "strip_prefix": "tower-0.5.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tower\",\n deps = [\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-util-0.3.32//:futures_util\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__slab-0.4.12//:slab\",\n \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n \"@crate_index__tokio-util-0.7.18//:tokio_util\",\n \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n \"@crate_index__tower-service-0.3.3//:tower_service\",\n \"@crate_index__tracing-0.1.44//:tracing\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"balance\",\n \"buffer\",\n \"discover\",\n \"futures-core\",\n \"futures-util\",\n \"indexmap\",\n \"limit\",\n \"load\",\n \"load-shed\",\n \"make\",\n \"pin-project-lite\",\n \"ready-cache\",\n \"slab\",\n \"sync_wrapper\",\n \"tokio\",\n \"tokio-util\",\n \"tracing\",\n \"util\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tower\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tower\",\n deps = [\n \"@crate_index__futures-core-0.3.32//:futures_core\",\n \"@crate_index__futures-util-0.3.32//:futures_util\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__slab-0.4.12//:slab\",\n \"@crate_index__sync_wrapper-1.0.2//:sync_wrapper\",\n \"@crate_index__tokio-1.52.1//:tokio\",\n \"@crate_index__tokio-util-0.7.18//:tokio_util\",\n \"@crate_index__tower-layer-0.3.3//:tower_layer\",\n \"@crate_index__tower-service-0.3.3//:tower_service\",\n \"@crate_index__tracing-0.1.44//:tracing\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"balance\",\n \"buffer\",\n \"discover\",\n \"futures-core\",\n \"futures-util\",\n \"indexmap\",\n \"limit\",\n \"load\",\n \"load-shed\",\n \"make\",\n \"pin-project-lite\",\n \"ready-cache\",\n \"slab\",\n \"sync_wrapper\",\n \"tokio\",\n \"tokio-util\",\n \"tracing\",\n \"util\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tower\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.3\",\n)\n" } }, "crate_index__tower-layer-0.3.3": { @@ -8206,7 +7810,7 @@ "https://static.crates.io/crates/tower-layer/0.3.3/download" ], "strip_prefix": "tower-layer-0.3.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tower_layer\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tower-layer\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tower_layer\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tower-layer\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.3\",\n)\n" } }, "crate_index__tower-service-0.3.3": { @@ -8222,7 +7826,7 @@ "https://static.crates.io/crates/tower-service/0.3.3/download" ], "strip_prefix": "tower-service-0.3.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tower_service\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tower-service\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tower_service\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tower-service\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.3\",\n)\n" } }, "crate_index__tracing-0.1.44": { @@ -8238,7 +7842,7 @@ "https://static.crates.io/crates/tracing/0.1.44/download" ], "strip_prefix": "tracing-0.1.44", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tracing\",\n deps = [\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__tracing-core-0.1.36//:tracing_core\",\n ],\n proc_macro_deps = [\n \"@crate_index__tracing-attributes-0.1.31//:tracing_attributes\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"attributes\",\n \"default\",\n \"std\",\n \"tracing-attributes\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tracing\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.44\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tracing\",\n deps = [\n \"@crate_index__pin-project-lite-0.2.17//:pin_project_lite\",\n \"@crate_index__tracing-core-0.1.36//:tracing_core\",\n ],\n proc_macro_deps = [\n \"@crate_index__tracing-attributes-0.1.31//:tracing_attributes\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"attributes\",\n \"default\",\n \"std\",\n \"tracing-attributes\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tracing\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.44\",\n)\n" } }, "crate_index__tracing-attributes-0.1.31": { @@ -8254,7 +7858,7 @@ "https://static.crates.io/crates/tracing-attributes/0.1.31/download" ], "strip_prefix": "tracing-attributes-0.1.31", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"tracing_attributes\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tracing-attributes\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.31\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"tracing_attributes\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tracing-attributes\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.31\",\n)\n" } }, "crate_index__tracing-core-0.1.36": { @@ -8270,7 +7874,7 @@ "https://static.crates.io/crates/tracing-core/0.1.36/download" ], "strip_prefix": "tracing-core-0.1.36", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tracing_core\",\n deps = [\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"once_cell\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tracing-core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.36\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tracing_core\",\n deps = [\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"once_cell\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tracing-core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.36\",\n)\n" } }, "crate_index__tracing-log-0.2.0": { @@ -8286,7 +7890,7 @@ "https://static.crates.io/crates/tracing-log/0.2.0/download" ], "strip_prefix": "tracing-log-0.2.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tracing_log\",\n deps = [\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__tracing-core-0.1.36//:tracing_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"log-tracer\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tracing-log\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tracing_log\",\n deps = [\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__tracing-core-0.1.36//:tracing_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"log-tracer\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tracing-log\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.0\",\n)\n" } }, "crate_index__tracing-serde-0.2.0": { @@ -8302,7 +7906,7 @@ "https://static.crates.io/crates/tracing-serde/0.2.0/download" ], "strip_prefix": "tracing-serde-0.2.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tracing_serde\",\n deps = [\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__tracing-core-0.1.36//:tracing_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tracing-serde\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tracing_serde\",\n deps = [\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__tracing-core-0.1.36//:tracing_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tracing-serde\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.0\",\n)\n" } }, "crate_index__tracing-subscriber-0.3.23": { @@ -8318,7 +7922,7 @@ "https://static.crates.io/crates/tracing-subscriber/0.3.23/download" ], "strip_prefix": "tracing-subscriber-0.3.23", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tracing_subscriber\",\n deps = [\n \"@crate_index__nu-ansi-term-0.50.3//:nu_ansi_term\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__serde_json-1.0.149//:serde_json\",\n \"@crate_index__sharded-slab-0.1.7//:sharded_slab\",\n \"@crate_index__smallvec-1.15.1//:smallvec\",\n \"@crate_index__thread_local-1.1.9//:thread_local\",\n \"@crate_index__tracing-core-0.1.36//:tracing_core\",\n \"@crate_index__tracing-log-0.2.0//:tracing_log\",\n \"@crate_index__tracing-serde-0.2.0//:tracing_serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"ansi\",\n \"fmt\",\n \"json\",\n \"nu-ansi-term\",\n \"registry\",\n \"serde\",\n \"serde_json\",\n \"sharded-slab\",\n \"smallvec\",\n \"std\",\n \"thread_local\",\n \"tracing-log\",\n \"tracing-serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tracing-subscriber\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.23\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"tracing_subscriber\",\n deps = [\n \"@crate_index__matchers-0.2.0//:matchers\",\n \"@crate_index__nu-ansi-term-0.50.3//:nu_ansi_term\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__regex-automata-0.4.14//:regex_automata\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__serde_json-1.0.149//:serde_json\",\n \"@crate_index__sharded-slab-0.1.7//:sharded_slab\",\n \"@crate_index__smallvec-1.15.1//:smallvec\",\n \"@crate_index__thread_local-1.1.9//:thread_local\",\n \"@crate_index__tracing-0.1.44//:tracing\",\n \"@crate_index__tracing-core-0.1.36//:tracing_core\",\n \"@crate_index__tracing-log-0.2.0//:tracing_log\",\n \"@crate_index__tracing-serde-0.2.0//:tracing_serde\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"ansi\",\n \"default\",\n \"env-filter\",\n \"fmt\",\n \"json\",\n \"matchers\",\n \"nu-ansi-term\",\n \"once_cell\",\n \"registry\",\n \"serde\",\n \"serde_json\",\n \"sharded-slab\",\n \"smallvec\",\n \"std\",\n \"thread_local\",\n \"tracing\",\n \"tracing-log\",\n \"tracing-serde\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=tracing-subscriber\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.23\",\n)\n" } }, "crate_index__try-lock-0.2.5": { @@ -8334,7 +7938,7 @@ "https://static.crates.io/crates/try-lock/0.2.5/download" ], "strip_prefix": "try-lock-0.2.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"try_lock\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=try-lock\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"try_lock\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=try-lock\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.5\",\n)\n" } }, "crate_index__unicode-ident-1.0.24": { @@ -8350,7 +7954,23 @@ "https://static.crates.io/crates/unicode-ident/1.0.24/download" ], "strip_prefix": "unicode-ident-1.0.24", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"unicode_ident\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=unicode-ident\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.24\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"unicode_ident\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=unicode-ident\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.24\",\n)\n" + } + }, + "crate_index__unicode-linebreak-0.1.5": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/unicode-linebreak/0.1.5/download" + ], + "strip_prefix": "unicode-linebreak-0.1.5", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"unicode_linebreak\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=unicode-linebreak\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.5\",\n)\n" } }, "crate_index__unicode-width-0.2.2": { @@ -8366,7 +7986,7 @@ "https://static.crates.io/crates/unicode-width/0.2.2/download" ], "strip_prefix": "unicode-width-0.2.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"unicode_width\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"cjk\",\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=unicode-width\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"unicode_width\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"cjk\",\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=unicode-width\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.2\",\n)\n" } }, "crate_index__unicode-xid-0.2.6": { @@ -8382,7 +8002,7 @@ "https://static.crates.io/crates/unicode-xid/0.2.6/download" ], "strip_prefix": "unicode-xid-0.2.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"unicode_xid\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=unicode-xid\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.6\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"unicode_xid\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=unicode-xid\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.6\",\n)\n" } }, "crate_index__unit-prefix-0.5.2": { @@ -8398,7 +8018,7 @@ "https://static.crates.io/crates/unit-prefix/0.5.2/download" ], "strip_prefix": "unit-prefix-0.5.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"unit_prefix\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=unit-prefix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"unit_prefix\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=unit-prefix\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.5.2\",\n)\n" } }, "crate_index__utf8parse-0.2.2": { @@ -8414,7 +8034,7 @@ "https://static.crates.io/crates/utf8parse/0.2.2/download" ], "strip_prefix": "utf8parse-0.2.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"utf8parse\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=utf8parse\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"utf8parse\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=utf8parse\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.2\",\n)\n" } }, "crate_index__uuid-1.23.1": { @@ -8430,7 +8050,7 @@ "https://static.crates.io/crates/uuid/1.23.1/download" ], "strip_prefix": "uuid-1.23.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"uuid\",\n deps = [\n \"@crate_index__getrandom-0.4.2//:getrandom\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"rng\",\n \"std\",\n \"v4\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=uuid\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.23.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"uuid\",\n deps = [\n \"@crate_index__getrandom-0.4.2//:getrandom\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"default\",\n \"rng\",\n \"std\",\n \"v4\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=uuid\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.23.1\",\n)\n" } }, "crate_index__valuable-0.1.1": { @@ -8446,7 +8066,7 @@ "https://static.crates.io/crates/valuable/0.1.1/download" ], "strip_prefix": "valuable-0.1.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"valuable\",\n deps = [\n \"@crate_index__valuable-0.1.1//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=valuable\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"valuable\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=valuable\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.1.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"valuable\",\n deps = [\n \"@crate_index__valuable-0.1.1//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=valuable\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"valuable\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=valuable\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.1.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__version_check-0.9.5": { @@ -8462,7 +8082,7 @@ "https://static.crates.io/crates/version_check/0.9.5/download" ], "strip_prefix": "version_check-0.9.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"version_check\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=version_check\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.9.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"version_check\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=version_check\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.9.5\",\n)\n" } }, "crate_index__want-0.3.1": { @@ -8478,7 +8098,7 @@ "https://static.crates.io/crates/want/0.3.1/download" ], "strip_prefix": "want-0.3.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"want\",\n deps = [\n \"@crate_index__try-lock-0.2.5//:try_lock\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=want\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"want\",\n deps = [\n \"@crate_index__try-lock-0.2.5//:try_lock\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=want\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.1\",\n)\n" } }, "crate_index__wasi-0.11.1-wasi-snapshot-preview1": { @@ -8494,7 +8114,7 @@ "https://static.crates.io/crates/wasi/0.11.1+wasi-snapshot-preview1/download" ], "strip_prefix": "wasi-0.11.1+wasi-snapshot-preview1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasi\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasi\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.11.1+wasi-snapshot-preview1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasi\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasi\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.11.1+wasi-snapshot-preview1\",\n)\n" } }, "crate_index__wasip2-1.0.3-wasi-0.2.9": { @@ -8510,7 +8130,7 @@ "https://static.crates.io/crates/wasip2/1.0.3+wasi-0.2.9/download" ], "strip_prefix": "wasip2-1.0.3+wasi-0.2.9", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasip2\",\n deps = [\n \"@crate_index__wit-bindgen-0.57.1//:wit_bindgen\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasip2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.3+wasi-0.2.9\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasip2\",\n deps = [\n \"@crate_index__wit-bindgen-0.57.1//:wit_bindgen\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasip2\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.3+wasi-0.2.9\",\n)\n" } }, "crate_index__wasip3-0.4.0-wasi-0.3.0-rc-2026-01-06": { @@ -8526,7 +8146,7 @@ "https://static.crates.io/crates/wasip3/0.4.0+wasi-0.3.0-rc-2026-01-06/download" ], "strip_prefix": "wasip3-0.4.0+wasi-0.3.0-rc-2026-01-06", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasip3\",\n deps = [\n \"@crate_index__wit-bindgen-0.51.0//:wit_bindgen\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasip3\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.0+wasi-0.3.0-rc-2026-01-06\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasip3\",\n deps = [\n \"@crate_index__wit-bindgen-0.51.0//:wit_bindgen\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasip3\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.0+wasi-0.3.0-rc-2026-01-06\",\n)\n" } }, "crate_index__wasm-bindgen-0.2.118": { @@ -8542,7 +8162,7 @@ "https://static.crates.io/crates/wasm-bindgen/0.2.118/download" ], "strip_prefix": "wasm-bindgen-0.2.118", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasm_bindgen\",\n deps = [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__wasm-bindgen-0.2.118//:build_script_build\",\n \"@crate_index__wasm-bindgen-shared-0.2.118//:wasm_bindgen_shared\",\n ],\n proc_macro_deps = [\n \"@crate_index__wasm-bindgen-macro-0.2.118//:wasm_bindgen_macro\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.118\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n aliases = {\n \"@crate_index__rustversion-1.0.22//:rustversion\": \"rustversion_compat\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n link_deps = [\n \"@crate_index__wasm-bindgen-shared-0.2.118//:wasm_bindgen_shared\",\n ],\n edition = \"2021\",\n pkg_name = \"wasm-bindgen\",\n proc_macro_deps = [\n \"@crate_index__rustversion-1.0.22//:rustversion\",\n ],\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.2.118\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasm_bindgen\",\n deps = [\n \"@crate_index__cfg-if-1.0.4//:cfg_if\",\n \"@crate_index__once_cell-1.21.4//:once_cell\",\n \"@crate_index__wasm-bindgen-0.2.118//:build_script_build\",\n \"@crate_index__wasm-bindgen-shared-0.2.118//:wasm_bindgen_shared\",\n ],\n proc_macro_deps = [\n \"@crate_index__wasm-bindgen-macro-0.2.118//:wasm_bindgen_macro\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.118\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n aliases = {\n \"@crate_index__rustversion-1.0.22//:rustversion\": \"rustversion_compat\",\n },\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n link_deps = [\n \"@crate_index__wasm-bindgen-shared-0.2.118//:wasm_bindgen_shared\",\n ],\n edition = \"2021\",\n pkg_name = \"wasm-bindgen\",\n proc_macro_deps = [\n \"@crate_index__rustversion-1.0.22//:rustversion\",\n ],\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.2.118\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__wasm-bindgen-macro-0.2.118": { @@ -8558,7 +8178,7 @@ "https://static.crates.io/crates/wasm-bindgen-macro/0.2.118/download" ], "strip_prefix": "wasm-bindgen-macro-0.2.118", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"wasm_bindgen_macro\",\n deps = [\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__wasm-bindgen-macro-support-0.2.118//:wasm_bindgen_macro_support\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-bindgen-macro\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.118\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"wasm_bindgen_macro\",\n deps = [\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__wasm-bindgen-macro-support-0.2.118//:wasm_bindgen_macro_support\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-bindgen-macro\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.118\",\n)\n" } }, "crate_index__wasm-bindgen-macro-support-0.2.118": { @@ -8574,7 +8194,7 @@ "https://static.crates.io/crates/wasm-bindgen-macro-support/0.2.118/download" ], "strip_prefix": "wasm-bindgen-macro-support-0.2.118", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasm_bindgen_macro_support\",\n deps = [\n \"@crate_index__bumpalo-3.20.2//:bumpalo\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__wasm-bindgen-shared-0.2.118//:wasm_bindgen_shared\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-bindgen-macro-support\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.118\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasm_bindgen_macro_support\",\n deps = [\n \"@crate_index__bumpalo-3.20.2//:bumpalo\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__wasm-bindgen-shared-0.2.118//:wasm_bindgen_shared\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-bindgen-macro-support\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.118\",\n)\n" } }, "crate_index__wasm-bindgen-shared-0.2.118": { @@ -8590,7 +8210,7 @@ "https://static.crates.io/crates/wasm-bindgen-shared/0.2.118/download" ], "strip_prefix": "wasm-bindgen-shared-0.2.118", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasm_bindgen_shared\",\n deps = [\n \"@crate_index__unicode-ident-1.0.24//:unicode_ident\",\n \"@crate_index__wasm-bindgen-shared-0.2.118//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-bindgen-shared\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.118\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n links = \"wasm_bindgen\",\n pkg_name = \"wasm-bindgen-shared\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-bindgen-shared\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.2.118\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasm_bindgen_shared\",\n deps = [\n \"@crate_index__unicode-ident-1.0.24//:unicode_ident\",\n \"@crate_index__wasm-bindgen-shared-0.2.118//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-bindgen-shared\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.118\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n links = \"wasm_bindgen\",\n pkg_name = \"wasm-bindgen-shared\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-bindgen-shared\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.2.118\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__wasm-encoder-0.244.0": { @@ -8606,7 +8226,7 @@ "https://static.crates.io/crates/wasm-encoder/0.244.0/download" ], "strip_prefix": "wasm-encoder-0.244.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasm_encoder\",\n deps = [\n \"@crate_index__leb128fmt-0.1.0//:leb128fmt\",\n \"@crate_index__wasmparser-0.244.0//:wasmparser\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"component-model\",\n \"std\",\n \"wasmparser\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-encoder\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.244.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasm_encoder\",\n deps = [\n \"@crate_index__leb128fmt-0.1.0//:leb128fmt\",\n \"@crate_index__wasmparser-0.244.0//:wasmparser\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"component-model\",\n \"std\",\n \"wasmparser\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-encoder\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.244.0\",\n)\n" } }, "crate_index__wasm-metadata-0.244.0": { @@ -8622,7 +8242,7 @@ "https://static.crates.io/crates/wasm-metadata/0.244.0/download" ], "strip_prefix": "wasm-metadata-0.244.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasm_metadata\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__wasm-encoder-0.244.0//:wasm_encoder\",\n \"@crate_index__wasmparser-0.244.0//:wasmparser\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-metadata\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.244.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasm_metadata\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__wasm-encoder-0.244.0//:wasm_encoder\",\n \"@crate_index__wasmparser-0.244.0//:wasmparser\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasm-metadata\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.244.0\",\n)\n" } }, "crate_index__wasmparser-0.244.0": { @@ -8638,7 +8258,7 @@ "https://static.crates.io/crates/wasmparser/0.244.0/download" ], "strip_prefix": "wasmparser-0.244.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasmparser\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__hashbrown-0.15.5//:hashbrown\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__semver-1.0.28//:semver\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"component-model\",\n \"features\",\n \"hash-collections\",\n \"simd\",\n \"std\",\n \"validate\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasmparser\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.244.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wasmparser\",\n deps = [\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__hashbrown-0.15.5//:hashbrown\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__semver-1.0.28//:semver\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"component-model\",\n \"features\",\n \"hash-collections\",\n \"simd\",\n \"std\",\n \"validate\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wasmparser\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.244.0\",\n)\n" } }, "crate_index__web-time-1.1.0": { @@ -8654,7 +8274,7 @@ "https://static.crates.io/crates/web-time/1.1.0/download" ], "strip_prefix": "web-time-1.1.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"web_time\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=web-time\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"web_time\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=web-time\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.1.0\",\n)\n" } }, "crate_index__which-4.4.2": { @@ -8670,7 +8290,7 @@ "https://static.crates.io/crates/which/4.4.2/download" ], "strip_prefix": "which-4.4.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"which\",\n deps = [\n \"@crate_index__either-1.15.0//:either\",\n \"@crate_index__rustix-0.38.44//:rustix\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__home-0.5.12//:home\", # cfg(any(windows, unix, target_os = \"redox\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__home-0.5.12//:home\", # cfg(any(windows, unix, target_os = \"redox\"))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=which\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"4.4.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"which\",\n deps = [\n \"@crate_index__either-1.15.0//:either\",\n \"@crate_index__rustix-0.38.44//:rustix\",\n ] + select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [\n \"@crate_index__home-0.5.12//:home\", # cfg(any(windows, unix, target_os = \"redox\"))\n ],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [\n \"@crate_index__home-0.5.12//:home\", # cfg(any(windows, unix, target_os = \"redox\"))\n ],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [\n \"@crate_index__home-0.5.12//:home\", # cfg(any(windows, unix, target_os = \"redox\"))\n ],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__home-0.5.12//:home\", # cfg(any(windows, unix, target_os = \"redox\"))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=which\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"4.4.2\",\n)\n" } }, "crate_index__winapi-0.3.9": { @@ -8686,7 +8306,7 @@ "https://static.crates.io/crates/winapi/0.3.9/download" ], "strip_prefix": "winapi-0.3.9", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"winapi\",\n deps = [\n \"@crate_index__winapi-0.3.9//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winapi\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.9\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2015\",\n pkg_name = \"winapi\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winapi\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.3.9\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"winapi\",\n deps = [\n \"@crate_index__winapi-0.3.9//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winapi\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.9\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2015\",\n pkg_name = \"winapi\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winapi\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.3.9\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__winapi-i686-pc-windows-gnu-0.4.0": { @@ -8702,7 +8322,7 @@ "https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download" ], "strip_prefix": "winapi-i686-pc-windows-gnu-0.4.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"winapi_i686_pc_windows_gnu\",\n deps = [\n \"@crate_index__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winapi-i686-pc-windows-gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2015\",\n pkg_name = \"winapi-i686-pc-windows-gnu\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winapi-i686-pc-windows-gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.4.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"winapi_i686_pc_windows_gnu\",\n deps = [\n \"@crate_index__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winapi-i686-pc-windows-gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2015\",\n pkg_name = \"winapi-i686-pc-windows-gnu\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winapi-i686-pc-windows-gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.4.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__winapi-x86_64-pc-windows-gnu-0.4.0": { @@ -8718,7 +8338,7 @@ "https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download" ], "strip_prefix": "winapi-x86_64-pc-windows-gnu-0.4.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"winapi_x86_64_pc_windows_gnu\",\n deps = [\n \"@crate_index__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winapi-x86_64-pc-windows-gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2015\",\n pkg_name = \"winapi-x86_64-pc-windows-gnu\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winapi-x86_64-pc-windows-gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.4.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"winapi_x86_64_pc_windows_gnu\",\n deps = [\n \"@crate_index__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2015\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winapi-x86_64-pc-windows-gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2015\",\n pkg_name = \"winapi-x86_64-pc-windows-gnu\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winapi-x86_64-pc-windows-gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.4.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows-0.61.3": { @@ -8734,7 +8354,7 @@ "https://static.crates.io/crates/windows/0.61.3/download" ], "strip_prefix": "windows-0.61.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows\",\n deps = [\n \"@crate_index__windows-collections-0.2.0//:windows_collections\",\n \"@crate_index__windows-core-0.61.2//:windows_core\",\n \"@crate_index__windows-future-0.2.1//:windows_future\",\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n \"@crate_index__windows-numerics-0.2.0//:windows_numerics\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.61.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows\",\n deps = [\n \"@crate_index__windows-collections-0.2.0//:windows_collections\",\n \"@crate_index__windows-core-0.61.2//:windows_core\",\n \"@crate_index__windows-future-0.2.1//:windows_future\",\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n \"@crate_index__windows-numerics-0.2.0//:windows_numerics\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.61.3\",\n)\n" } }, "crate_index__windows-collections-0.2.0": { @@ -8750,7 +8370,7 @@ "https://static.crates.io/crates/windows-collections/0.2.0/download" ], "strip_prefix": "windows-collections-0.2.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_collections\",\n deps = [\n \"@crate_index__windows-core-0.61.2//:windows_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-collections\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_collections\",\n deps = [\n \"@crate_index__windows-core-0.61.2//:windows_core\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-collections\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.0\",\n)\n" } }, "crate_index__windows-core-0.61.2": { @@ -8766,7 +8386,7 @@ "https://static.crates.io/crates/windows-core/0.61.2/download" ], "strip_prefix": "windows-core-0.61.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_core\",\n deps = [\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n \"@crate_index__windows-result-0.3.4//:windows_result\",\n \"@crate_index__windows-strings-0.4.2//:windows_strings\",\n ],\n proc_macro_deps = [\n \"@crate_index__windows-implement-0.60.2//:windows_implement\",\n \"@crate_index__windows-interface-0.59.3//:windows_interface\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.61.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_core\",\n deps = [\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n \"@crate_index__windows-result-0.3.4//:windows_result\",\n \"@crate_index__windows-strings-0.4.2//:windows_strings\",\n ],\n proc_macro_deps = [\n \"@crate_index__windows-implement-0.60.2//:windows_implement\",\n \"@crate_index__windows-interface-0.59.3//:windows_interface\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.61.2\",\n)\n" } }, "crate_index__windows-future-0.2.1": { @@ -8782,7 +8402,7 @@ "https://static.crates.io/crates/windows-future/0.2.1/download" ], "strip_prefix": "windows-future-0.2.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_future\",\n deps = [\n \"@crate_index__windows-core-0.61.2//:windows_core\",\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n \"@crate_index__windows-threading-0.1.0//:windows_threading\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-future\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_future\",\n deps = [\n \"@crate_index__windows-core-0.61.2//:windows_core\",\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n \"@crate_index__windows-threading-0.1.0//:windows_threading\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-future\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.1\",\n)\n" } }, "crate_index__windows-implement-0.60.2": { @@ -8798,7 +8418,7 @@ "https://static.crates.io/crates/windows-implement/0.60.2/download" ], "strip_prefix": "windows-implement-0.60.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"windows_implement\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-implement\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.60.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"windows_implement\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-implement\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.60.2\",\n)\n" } }, "crate_index__windows-interface-0.59.3": { @@ -8814,7 +8434,7 @@ "https://static.crates.io/crates/windows-interface/0.59.3/download" ], "strip_prefix": "windows-interface-0.59.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"windows_interface\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-interface\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.59.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"windows_interface\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-interface\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.59.3\",\n)\n" } }, "crate_index__windows-link-0.1.3": { @@ -8830,7 +8450,7 @@ "https://static.crates.io/crates/windows-link/0.1.3/download" ], "strip_prefix": "windows-link-0.1.3", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_link\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-link\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.3\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_link\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-link\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.3\",\n)\n" } }, "crate_index__windows-link-0.2.1": { @@ -8846,7 +8466,7 @@ "https://static.crates.io/crates/windows-link/0.2.1/download" ], "strip_prefix": "windows-link-0.2.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_link\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-link\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_link\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-link\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.1\",\n)\n" } }, "crate_index__windows-numerics-0.2.0": { @@ -8862,7 +8482,7 @@ "https://static.crates.io/crates/windows-numerics/0.2.0/download" ], "strip_prefix": "windows-numerics-0.2.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_numerics\",\n deps = [\n \"@crate_index__windows-core-0.61.2//:windows_core\",\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-numerics\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_numerics\",\n deps = [\n \"@crate_index__windows-core-0.61.2//:windows_core\",\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-numerics\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.2.0\",\n)\n" } }, "crate_index__windows-result-0.3.4": { @@ -8878,7 +8498,23 @@ "https://static.crates.io/crates/windows-result/0.3.4/download" ], "strip_prefix": "windows-result-0.3.4", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_result\",\n deps = [\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-result\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.4\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_result\",\n deps = [\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-result\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.3.4\",\n)\n" + } + }, + "crate_index__windows-result-0.4.1": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/windows-result/0.4.1/download" + ], + "strip_prefix": "windows-result-0.4.1", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_result\",\n deps = [\n \"@crate_index__windows-link-0.2.1//:windows_link\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-result\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.1\",\n)\n" } }, "crate_index__windows-strings-0.4.2": { @@ -8894,7 +8530,7 @@ "https://static.crates.io/crates/windows-strings/0.4.2/download" ], "strip_prefix": "windows-strings-0.4.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_strings\",\n deps = [\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-strings\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_strings\",\n deps = [\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-strings\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.4.2\",\n)\n" } }, "crate_index__windows-sys-0.48.0": { @@ -8910,7 +8546,7 @@ "https://static.crates.io/crates/windows-sys/0.48.0/download" ], "strip_prefix": "windows-sys-0.48.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_sys\",\n deps = [\n \"@crate_index__windows-targets-0.48.5//:windows_targets\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_sys\",\n deps = [\n \"@crate_index__windows-targets-0.48.5//:windows_targets\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.0\",\n)\n" } }, "crate_index__windows-sys-0.59.0": { @@ -8926,7 +8562,7 @@ "https://static.crates.io/crates/windows-sys/0.59.0/download" ], "strip_prefix": "windows-sys-0.59.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_sys\",\n deps = [\n \"@crate_index__windows-targets-0.52.6//:windows_targets\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.59.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_sys\",\n deps = [\n \"@crate_index__windows-targets-0.52.6//:windows_targets\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.59.0\",\n)\n" } }, "crate_index__windows-sys-0.61.2": { @@ -8942,7 +8578,7 @@ "https://static.crates.io/crates/windows-sys/0.61.2/download" ], "strip_prefix": "windows-sys-0.61.2", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_sys\",\n deps = [\n \"@crate_index__windows-link-0.2.1//:windows_link\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.61.2\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_sys\",\n deps = [\n \"@crate_index__windows-link-0.2.1//:windows_link\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-sys\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.61.2\",\n)\n" } }, "crate_index__windows-targets-0.48.5": { @@ -8958,7 +8594,7 @@ "https://static.crates.io/crates/windows-targets/0.48.5/download" ], "strip_prefix": "windows-targets-0.48.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_targets\",\n deps = select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__windows_x86_64_gnu-0.48.5//:windows_x86_64_gnu\", # cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-targets\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_targets\",\n deps = select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__windows_x86_64_gnu-0.48.5//:windows_x86_64_gnu\", # cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-targets\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n" } }, "crate_index__windows-targets-0.52.6": { @@ -8974,7 +8610,7 @@ "https://static.crates.io/crates/windows-targets/0.52.6/download" ], "strip_prefix": "windows-targets-0.52.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_targets\",\n deps = select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__windows_x86_64_gnu-0.52.6//:windows_x86_64_gnu\", # cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-targets\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_targets\",\n deps = select({\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [\n \"@crate_index__windows_x86_64_gnu-0.52.6//:windows_x86_64_gnu\", # cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))\n ],\n \"//conditions:default\": [],\n }),\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-targets\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n" } }, "crate_index__windows-threading-0.1.0": { @@ -8990,7 +8626,7 @@ "https://static.crates.io/crates/windows-threading/0.1.0/download" ], "strip_prefix": "windows-threading-0.1.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_threading\",\n deps = [\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-threading\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_threading\",\n deps = [\n \"@crate_index__windows-link-0.1.3//:windows_link\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows-threading\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.1.0\",\n)\n" } }, "crate_index__windows_aarch64_gnullvm-0.48.5": { @@ -9006,7 +8642,7 @@ "https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.5/download" ], "strip_prefix": "windows_aarch64_gnullvm-0.48.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_aarch64_gnullvm\",\n deps = [\n \"@crate_index__windows_aarch64_gnullvm-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_aarch64_gnullvm\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_aarch64_gnullvm\",\n deps = [\n \"@crate_index__windows_aarch64_gnullvm-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_aarch64_gnullvm\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_aarch64_gnullvm-0.52.6": { @@ -9022,7 +8658,7 @@ "https://static.crates.io/crates/windows_aarch64_gnullvm/0.52.6/download" ], "strip_prefix": "windows_aarch64_gnullvm-0.52.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_aarch64_gnullvm\",\n deps = [\n \"@crate_index__windows_aarch64_gnullvm-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_aarch64_gnullvm\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_aarch64_gnullvm\",\n deps = [\n \"@crate_index__windows_aarch64_gnullvm-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_aarch64_gnullvm\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_aarch64_msvc-0.48.5": { @@ -9038,7 +8674,7 @@ "https://static.crates.io/crates/windows_aarch64_msvc/0.48.5/download" ], "strip_prefix": "windows_aarch64_msvc-0.48.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_aarch64_msvc\",\n deps = [\n \"@crate_index__windows_aarch64_msvc-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_aarch64_msvc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_aarch64_msvc\",\n deps = [\n \"@crate_index__windows_aarch64_msvc-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_aarch64_msvc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_aarch64_msvc-0.52.6": { @@ -9054,7 +8690,7 @@ "https://static.crates.io/crates/windows_aarch64_msvc/0.52.6/download" ], "strip_prefix": "windows_aarch64_msvc-0.52.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_aarch64_msvc\",\n deps = [\n \"@crate_index__windows_aarch64_msvc-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_aarch64_msvc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_aarch64_msvc\",\n deps = [\n \"@crate_index__windows_aarch64_msvc-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_aarch64_msvc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_aarch64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_i686_gnu-0.48.5": { @@ -9070,7 +8706,7 @@ "https://static.crates.io/crates/windows_i686_gnu/0.48.5/download" ], "strip_prefix": "windows_i686_gnu-0.48.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_i686_gnu\",\n deps = [\n \"@crate_index__windows_i686_gnu-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_i686_gnu\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_i686_gnu\",\n deps = [\n \"@crate_index__windows_i686_gnu-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_i686_gnu\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_i686_gnu-0.52.6": { @@ -9086,7 +8722,7 @@ "https://static.crates.io/crates/windows_i686_gnu/0.52.6/download" ], "strip_prefix": "windows_i686_gnu-0.52.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_i686_gnu\",\n deps = [\n \"@crate_index__windows_i686_gnu-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_i686_gnu\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_i686_gnu\",\n deps = [\n \"@crate_index__windows_i686_gnu-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_i686_gnu\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_i686_gnullvm-0.52.6": { @@ -9102,7 +8738,7 @@ "https://static.crates.io/crates/windows_i686_gnullvm/0.52.6/download" ], "strip_prefix": "windows_i686_gnullvm-0.52.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_i686_gnullvm\",\n deps = [\n \"@crate_index__windows_i686_gnullvm-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_i686_gnullvm\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_i686_gnullvm\",\n deps = [\n \"@crate_index__windows_i686_gnullvm-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_i686_gnullvm\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_i686_msvc-0.48.5": { @@ -9118,7 +8754,7 @@ "https://static.crates.io/crates/windows_i686_msvc/0.48.5/download" ], "strip_prefix": "windows_i686_msvc-0.48.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_i686_msvc\",\n deps = [\n \"@crate_index__windows_i686_msvc-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_i686_msvc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_i686_msvc\",\n deps = [\n \"@crate_index__windows_i686_msvc-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_i686_msvc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_i686_msvc-0.52.6": { @@ -9134,7 +8770,7 @@ "https://static.crates.io/crates/windows_i686_msvc/0.52.6/download" ], "strip_prefix": "windows_i686_msvc-0.52.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_i686_msvc\",\n deps = [\n \"@crate_index__windows_i686_msvc-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_i686_msvc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_i686_msvc\",\n deps = [\n \"@crate_index__windows_i686_msvc-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_i686_msvc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_i686_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_x86_64_gnu-0.48.5": { @@ -9150,7 +8786,7 @@ "https://static.crates.io/crates/windows_x86_64_gnu/0.48.5/download" ], "strip_prefix": "windows_x86_64_gnu-0.48.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_x86_64_gnu\",\n deps = [\n \"@crate_index__windows_x86_64_gnu-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_x86_64_gnu\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_x86_64_gnu\",\n deps = [\n \"@crate_index__windows_x86_64_gnu-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_x86_64_gnu\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_x86_64_gnu-0.52.6": { @@ -9166,7 +8802,7 @@ "https://static.crates.io/crates/windows_x86_64_gnu/0.52.6/download" ], "strip_prefix": "windows_x86_64_gnu-0.52.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_x86_64_gnu\",\n deps = [\n \"@crate_index__windows_x86_64_gnu-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_x86_64_gnu\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_x86_64_gnu\",\n deps = [\n \"@crate_index__windows_x86_64_gnu-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_x86_64_gnu\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnu\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_x86_64_gnullvm-0.48.5": { @@ -9182,7 +8818,7 @@ "https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.5/download" ], "strip_prefix": "windows_x86_64_gnullvm-0.48.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_x86_64_gnullvm\",\n deps = [\n \"@crate_index__windows_x86_64_gnullvm-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_x86_64_gnullvm\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_x86_64_gnullvm\",\n deps = [\n \"@crate_index__windows_x86_64_gnullvm-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_x86_64_gnullvm\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_x86_64_gnullvm-0.52.6": { @@ -9198,7 +8834,7 @@ "https://static.crates.io/crates/windows_x86_64_gnullvm/0.52.6/download" ], "strip_prefix": "windows_x86_64_gnullvm-0.52.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_x86_64_gnullvm\",\n deps = [\n \"@crate_index__windows_x86_64_gnullvm-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_x86_64_gnullvm\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_x86_64_gnullvm\",\n deps = [\n \"@crate_index__windows_x86_64_gnullvm-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_x86_64_gnullvm\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_gnullvm\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_x86_64_msvc-0.48.5": { @@ -9214,7 +8850,7 @@ "https://static.crates.io/crates/windows_x86_64_msvc/0.48.5/download" ], "strip_prefix": "windows_x86_64_msvc-0.48.5", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_x86_64_msvc\",\n deps = [\n \"@crate_index__windows_x86_64_msvc-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_x86_64_msvc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_x86_64_msvc\",\n deps = [\n \"@crate_index__windows_x86_64_msvc-0.48.5//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2018\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.48.5\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2018\",\n pkg_name = \"windows_x86_64_msvc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.48.5\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__windows_x86_64_msvc-0.52.6": { @@ -9230,7 +8866,7 @@ "https://static.crates.io/crates/windows_x86_64_msvc/0.52.6/download" ], "strip_prefix": "windows_x86_64_msvc-0.52.6", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_x86_64_msvc\",\n deps = [\n \"@crate_index__windows_x86_64_msvc-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_x86_64_msvc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"windows_x86_64_msvc\",\n deps = [\n \"@crate_index__windows_x86_64_msvc-0.52.6//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.52.6\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"windows_x86_64_msvc\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=windows_x86_64_msvc\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.52.6\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__winnow-0.7.15": { @@ -9246,7 +8882,7 @@ "https://static.crates.io/crates/winnow/0.7.15/download" ], "strip_prefix": "winnow-0.7.15", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"winnow\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winnow\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.15\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"winnow\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=winnow\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.7.15\",\n)\n" } }, "crate_index__wit-bindgen-0.51.0": { @@ -9262,7 +8898,7 @@ "https://static.crates.io/crates/wit-bindgen/0.51.0/download" ], "strip_prefix": "wit-bindgen-0.51.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wit_bindgen\",\n deps = [\n \"@crate_index__wit-bindgen-0.51.0//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.51.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2024\",\n pkg_name = \"wit-bindgen\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.51.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wit_bindgen\",\n deps = [\n \"@crate_index__wit-bindgen-0.51.0//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.51.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2024\",\n pkg_name = \"wit-bindgen\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.51.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__wit-bindgen-0.57.1": { @@ -9278,7 +8914,7 @@ "https://static.crates.io/crates/wit-bindgen/0.57.1/download" ], "strip_prefix": "wit-bindgen-0.57.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wit_bindgen\",\n deps = [\n \"@crate_index__wit-bindgen-0.57.1//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.57.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2024\",\n pkg_name = \"wit-bindgen\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.57.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wit_bindgen\",\n deps = [\n \"@crate_index__wit-bindgen-0.57.1//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.57.1\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2024\",\n pkg_name = \"wit-bindgen\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.57.1\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__wit-bindgen-core-0.51.0": { @@ -9294,7 +8930,7 @@ "https://static.crates.io/crates/wit-bindgen-core/0.51.0/download" ], "strip_prefix": "wit-bindgen-core-0.51.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wit_bindgen_core\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__wit-parser-0.244.0//:wit_parser\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen-core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.51.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wit_bindgen_core\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__wit-parser-0.244.0//:wit_parser\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen-core\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.51.0\",\n)\n" } }, "crate_index__wit-bindgen-rust-0.51.0": { @@ -9310,7 +8946,7 @@ "https://static.crates.io/crates/wit-bindgen-rust/0.51.0/download" ], "strip_prefix": "wit-bindgen-rust-0.51.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wit_bindgen_rust\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__wasm-metadata-0.244.0//:wasm_metadata\",\n \"@crate_index__wit-bindgen-core-0.51.0//:wit_bindgen_core\",\n \"@crate_index__wit-bindgen-rust-0.51.0//:build_script_build\",\n \"@crate_index__wit-component-0.244.0//:wit_component\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen-rust\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.51.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n link_deps = [\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n ],\n edition = \"2024\",\n pkg_name = \"wit-bindgen-rust\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen-rust\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.51.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wit_bindgen_rust\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__heck-0.5.0//:heck\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__wasm-metadata-0.244.0//:wasm_metadata\",\n \"@crate_index__wit-bindgen-core-0.51.0//:wit_bindgen_core\",\n \"@crate_index__wit-bindgen-rust-0.51.0//:build_script_build\",\n \"@crate_index__wit-component-0.244.0//:wit_component\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen-rust\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.51.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n link_deps = [\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n ],\n edition = \"2024\",\n pkg_name = \"wit-bindgen-rust\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen-rust\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.51.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__wit-bindgen-rust-macro-0.51.0": { @@ -9326,7 +8962,7 @@ "https://static.crates.io/crates/wit-bindgen-rust-macro/0.51.0/download" ], "strip_prefix": "wit-bindgen-rust-macro-0.51.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"wit_bindgen_rust_macro\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__wit-bindgen-core-0.51.0//:wit_bindgen_core\",\n \"@crate_index__wit-bindgen-rust-0.51.0//:wit_bindgen_rust\",\n \"@crate_index__wit-bindgen-rust-macro-0.51.0//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen-rust-macro\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.51.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n link_deps = [\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n ],\n edition = \"2024\",\n pkg_name = \"wit-bindgen-rust-macro\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen-rust-macro\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.51.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"wit_bindgen_rust_macro\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n \"@crate_index__wit-bindgen-core-0.51.0//:wit_bindgen_core\",\n \"@crate_index__wit-bindgen-rust-0.51.0//:wit_bindgen_rust\",\n \"@crate_index__wit-bindgen-rust-macro-0.51.0//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2024\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen-rust-macro\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.51.0\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n link_deps = [\n \"@crate_index__prettyplease-0.2.37//:prettyplease\",\n ],\n edition = \"2024\",\n pkg_name = \"wit-bindgen-rust-macro\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-bindgen-rust-macro\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.51.0\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__wit-component-0.244.0": { @@ -9342,7 +8978,7 @@ "https://static.crates.io/crates/wit-component/0.244.0/download" ], "strip_prefix": "wit-component-0.244.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wit_component\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__serde_json-1.0.149//:serde_json\",\n \"@crate_index__wasm-encoder-0.244.0//:wasm_encoder\",\n \"@crate_index__wasm-metadata-0.244.0//:wasm_metadata\",\n \"@crate_index__wasmparser-0.244.0//:wasmparser\",\n \"@crate_index__wit-parser-0.244.0//:wit_parser\",\n ],\n proc_macro_deps = [\n \"@crate_index__serde_derive-1.0.228//:serde_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-component\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.244.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wit_component\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__bitflags-2.11.1//:bitflags\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__serde_json-1.0.149//:serde_json\",\n \"@crate_index__wasm-encoder-0.244.0//:wasm_encoder\",\n \"@crate_index__wasm-metadata-0.244.0//:wasm_metadata\",\n \"@crate_index__wasmparser-0.244.0//:wasmparser\",\n \"@crate_index__wit-parser-0.244.0//:wit_parser\",\n ],\n proc_macro_deps = [\n \"@crate_index__serde_derive-1.0.228//:serde_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-component\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.244.0\",\n)\n" } }, "crate_index__wit-parser-0.244.0": { @@ -9358,7 +8994,7 @@ "https://static.crates.io/crates/wit-parser/0.244.0/download" ], "strip_prefix": "wit-parser-0.244.0", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wit_parser\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__id-arena-2.3.0//:id_arena\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__semver-1.0.28//:semver\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__serde_json-1.0.149//:serde_json\",\n \"@crate_index__unicode-xid-0.2.6//:unicode_xid\",\n \"@crate_index__wasmparser-0.244.0//:wasmparser\",\n ],\n proc_macro_deps = [\n \"@crate_index__serde_derive-1.0.228//:serde_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"decoding\",\n \"default\",\n \"serde\",\n \"serde_json\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-parser\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.244.0\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"wit_parser\",\n deps = [\n \"@crate_index__anyhow-1.0.102//:anyhow\",\n \"@crate_index__id-arena-2.3.0//:id_arena\",\n \"@crate_index__indexmap-2.14.0//:indexmap\",\n \"@crate_index__log-0.4.29//:log\",\n \"@crate_index__semver-1.0.28//:semver\",\n \"@crate_index__serde-1.0.228//:serde\",\n \"@crate_index__serde_json-1.0.149//:serde_json\",\n \"@crate_index__unicode-xid-0.2.6//:unicode_xid\",\n \"@crate_index__wasmparser-0.244.0//:wasmparser\",\n ],\n proc_macro_deps = [\n \"@crate_index__serde_derive-1.0.228//:serde_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"decoding\",\n \"default\",\n \"serde\",\n \"serde_json\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=wit-parser\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.244.0\",\n)\n" } }, "crate_index__yansi-1.0.1": { @@ -9374,7 +9010,7 @@ "https://static.crates.io/crates/yansi/1.0.1/download" ], "strip_prefix": "yansi-1.0.1", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"yansi\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=yansi\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.1\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"yansi\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"std\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=yansi\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.1\",\n)\n" } }, "crate_index__zerocopy-0.8.48": { @@ -9390,7 +9026,7 @@ "https://static.crates.io/crates/zerocopy/0.8.48/download" ], "strip_prefix": "zerocopy-0.8.48", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"zerocopy\",\n deps = [\n \"@crate_index__zerocopy-0.8.48//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"simd\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=zerocopy\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.48\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"simd\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"zerocopy\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=zerocopy\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.8.48\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"zerocopy\",\n deps = [\n \"@crate_index__zerocopy-0.8.48//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"simd\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=zerocopy\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.48\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"simd\",\n ],\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"zerocopy\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=zerocopy\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"0.8.48\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } }, "crate_index__zerocopy-derive-0.8.48": { @@ -9406,7 +9042,39 @@ "https://static.crates.io/crates/zerocopy-derive/0.8.48/download" ], "strip_prefix": "zerocopy-derive-0.8.48", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"zerocopy_derive\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=zerocopy-derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.48\",\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"zerocopy_derive\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=zerocopy-derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"0.8.48\",\n)\n" + } + }, + "crate_index__zeroize-1.8.2": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/zeroize/1.8.2/download" + ], + "strip_prefix": "zeroize-1.8.2", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"zeroize\",\n proc_macro_deps = [\n \"@crate_index__zeroize_derive-1.4.3//:zeroize_derive\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_features = [\n \"alloc\",\n \"default\",\n \"derive\",\n \"zeroize_derive\",\n ],\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=zeroize\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.8.2\",\n)\n" + } + }, + "crate_index__zeroize_derive-1.4.3": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", + "attributes": { + "patch_args": [], + "patch_tool": "", + "patches": [], + "remote_patch_strip": 1, + "sha256": "85a5b4158499876c763cb03bc4e49185d3cccbabb15b33c627f7884f43db852e", + "type": "tar.gz", + "urls": [ + "https://static.crates.io/crates/zeroize_derive/1.4.3/download" + ], + "strip_prefix": "zeroize_derive-1.4.3", + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\"@rules_rust//cargo:defs.bzl\", \"cargo_toml_env_vars\")\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_proc_macro\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_proc_macro(\n name = \"zeroize_derive\",\n deps = [\n \"@crate_index__proc-macro2-1.0.106//:proc_macro2\",\n \"@crate_index__quote-1.0.45//:quote\",\n \"@crate_index__syn-2.0.117//:syn\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=zeroize_derive\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.4.3\",\n)\n" } }, "crate_index__zmij-1.0.21": { @@ -9422,7 +9090,7 @@ "https://static.crates.io/crates/zmij/1.0.21/download" ], "strip_prefix": "zmij-1.0.21", - "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"zmij\",\n deps = [\n \"@crate_index__zmij-1.0.21//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=zmij\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.21\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"zmij\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=zmij\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.21\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" + "build_file_content": "###############################################################################\n# @generated\n# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To \n# regenerate this file, run the following:\n#\n# bazel mod show_repo 'score_crates'\n###############################################################################\n\nload(\n \"@rules_rust//cargo:defs.bzl\",\n \"cargo_build_script\",\n \"cargo_toml_env_vars\",\n)\n\nload(\"@rules_rust//rust:defs.bzl\", \"rust_library\")\n\n# buildifier: disable=bzl-visibility\nload(\"@rules_rust//crate_universe/private:selects.bzl\", \"selects\")\n\npackage(default_visibility = [\"//visibility:public\"])\n\ncargo_toml_env_vars(\n name = \"cargo_toml_env_vars\",\n src = \"Cargo.toml\",\n)\n\nrust_library(\n name = \"zmij\",\n deps = [\n \"@crate_index__zmij-1.0.21//:build_script_build\",\n ],\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_root = \"src/lib.rs\",\n edition = \"2021\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=zmij\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n target_compatible_with = select({\n \"@rules_rust//rust/platform:aarch64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:aarch64-unknown-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-pc-nto-qnx710\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-linux-gnu\": [],\n \"@rules_rust//rust/platform:x86_64-unknown-none\": [],\n \"//conditions:default\": [\"@platforms//:incompatible\"],\n }),\n version = \"1.0.21\",\n)\n\ncargo_build_script(\n name = \"_bs\",\n compile_data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \"**/*.rs\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n crate_name = \"build_script_build\",\n crate_root = \"build.rs\",\n data = glob(\n allow_empty = True,\n include = [\"**\"],\n exclude = [\n \"**/* *\",\n \".tmp_git_root/**/*\",\n \"BUILD\",\n \"BUILD.bazel\",\n \"WORKSPACE\",\n \"WORKSPACE.bazel\",\n ],\n ),\n edition = \"2021\",\n pkg_name = \"zmij\",\n rustc_env_files = [\n \":cargo_toml_env_vars\",\n ],\n rustc_flags = [\n \"--cap-lints=allow\",\n ],\n srcs = glob(\n allow_empty = True,\n include = [\"**/*.rs\"],\n ),\n tags = [\n \"cargo-bazel\",\n \"crate-name=zmij\",\n \"manual\",\n \"noclippy\",\n \"norustfmt\",\n ],\n version = \"1.0.21\",\n visibility = [\"//visibility:private\"],\n)\n\nalias(\n name = \"build_script_build\",\n actual = \":_bs\",\n tags = [\"manual\"],\n)\n" } } }, @@ -9496,7 +9164,7 @@ }, "@@rules_rust+//crate_universe/private:internal_extensions.bzl%cu_nr": { "general": { - "bzlTransitiveDigest": "qjtUDaTee1aMDMtMMJHOpm1LmHvAN7QhodcXjE9N1KE=", + "bzlTransitiveDigest": "O0fQsU+vqNGJzNkNf2sut9KHPBYfivlCNUBcSsJq2N8=", "usagesDigest": "10qWRrPYM+vySc8dX7h/IfhuDlEi1kSxRX4NRxICRFY=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -9812,7 +9480,7 @@ }, "@@score_bazel_cpp_toolchains+//extensions:gcc.bzl%gcc": { "general": { - "bzlTransitiveDigest": "lAJgOidA+Xci/QNUrSfaPi/sdTIWryRPu5Na4TyI/5s=", + "bzlTransitiveDigest": "FPdomjlUToKRMMVvxdB1HPeVVF0Bk9iaEODAcgx7tcw=", "usagesDigest": "L/VhetNaL00ZyHgLw/g93XmgOPJcWDGc3l+4BGkMwrg=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -9946,34 +9614,6 @@ ] } }, - "@@score_communication+//third_party/lobster:lobster.bzl%lobster_ext": { - "general": { - "bzlTransitiveDigest": "WeAcRBt9zulTOUuuXh8PyiJnDi1xjnx86d11aKeGO6Q=", - "usagesDigest": "Oh5BIYRTBLHTdBqk1FNUppn+ZhSrqE+sBtlO/JelDKs=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "lobster": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "sha256": "5a0b86c62cadc872dcb1b79485ba72953400bcdc42f97c5b5aefe210e92ce6ff", - "strip_prefix": "lobster-lobster-0.14.1", - "urls": [ - "https://github.com/bmw-software-engineering/lobster/archive/refs/tags/lobster-0.14.1.tar.gz" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "score_communication+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, "@@score_toolchains_rust+//extensions:ferrocene_toolchain_ext.bzl%ferrocene_toolchain_ext": { "general": { "bzlTransitiveDigest": "XEgifqjEEdSGw80RccoJ/aUy9smsRXQJ9jO4RDOf2vk=", @@ -10126,74 +9766,54 @@ "recordedRepoMappingEntries": [] } }, - "@@yq.bzl+//yq:extensions.bzl%yq": { + "@@tar.bzl+//tar:extensions.bzl%toolchains": { "general": { - "bzlTransitiveDigest": "61Uz+o5PnlY0jJfPZEUNqsKxnM/UCLeWsn5VVCc8u5Y=", - "usagesDigest": "UlPnizl5jg+w9YqIQh0PbzHgchwgTxAV+T3JfYX1D4A=", + "bzlTransitiveDigest": "/2afh6fPjq/rcyE/jztQDK3ierehmFFngfvmqyRv72M=", + "usagesDigest": "maF8qsAIqeH1ey8pxP0gNZbvJt34kLZvTFeQ0ntrJVA=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { - "yq_darwin_amd64": { - "repoRuleId": "@@yq.bzl+//yq/toolchain:platforms.bzl%yq_platform_repo", - "attributes": { - "platform": "darwin_amd64", - "version": "4.45.1" - } - }, - "yq_darwin_arm64": { - "repoRuleId": "@@yq.bzl+//yq/toolchain:platforms.bzl%yq_platform_repo", - "attributes": { - "platform": "darwin_arm64", - "version": "4.45.1" - } - }, - "yq_linux_amd64": { - "repoRuleId": "@@yq.bzl+//yq/toolchain:platforms.bzl%yq_platform_repo", + "bsd_tar_toolchains": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:toolchain.bzl%tar_toolchains_repo", "attributes": { - "platform": "linux_amd64", - "version": "4.45.1" + "user_repository_name": "bsd_tar_toolchains" } }, - "yq_linux_arm64": { - "repoRuleId": "@@yq.bzl+//yq/toolchain:platforms.bzl%yq_platform_repo", + "bsd_tar_toolchains_darwin_amd64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", "attributes": { - "platform": "linux_arm64", - "version": "4.45.1" + "platform": "darwin_amd64" } }, - "yq_linux_s390x": { - "repoRuleId": "@@yq.bzl+//yq/toolchain:platforms.bzl%yq_platform_repo", + "bsd_tar_toolchains_darwin_arm64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", "attributes": { - "platform": "linux_s390x", - "version": "4.45.1" + "platform": "darwin_arm64" } }, - "yq_linux_riscv64": { - "repoRuleId": "@@yq.bzl+//yq/toolchain:platforms.bzl%yq_platform_repo", + "bsd_tar_toolchains_linux_amd64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", "attributes": { - "platform": "linux_riscv64", - "version": "4.45.1" + "platform": "linux_amd64" } }, - "yq_linux_ppc64le": { - "repoRuleId": "@@yq.bzl+//yq/toolchain:platforms.bzl%yq_platform_repo", + "bsd_tar_toolchains_linux_arm64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", "attributes": { - "platform": "linux_ppc64le", - "version": "4.45.1" + "platform": "linux_arm64" } }, - "yq_windows_amd64": { - "repoRuleId": "@@yq.bzl+//yq/toolchain:platforms.bzl%yq_platform_repo", + "bsd_tar_toolchains_windows_amd64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", "attributes": { - "platform": "windows_amd64", - "version": "4.45.1" + "platform": "windows_amd64" } }, - "yq_toolchains": { - "repoRuleId": "@@yq.bzl+//yq/toolchain:toolchain.bzl%yq_toolchains_repo", + "bsd_tar_toolchains_windows_arm64": { + "repoRuleId": "@@tar.bzl+//tar/toolchain:platforms.bzl%bsdtar_binary_repo", "attributes": { - "user_repository_name": "yq" + "platform": "windows_arm64" } } }, diff --git a/score/mw/log/backend/BUILD b/score/mw/log/backend/BUILD index a23f778a..9ed92d98 100644 --- a/score/mw/log/backend/BUILD +++ b/score/mw/log/backend/BUILD @@ -120,7 +120,7 @@ cc_test( deps = [ ":file", "@googletest//:gtest_main", - "@score_baselibs//score/mw/log:backend_table", + "@score_baselibs//score/mw/log", ], ) @@ -137,8 +137,7 @@ cc_test( deps = [ ":remote", "@googletest//:gtest_main", - "@score_baselibs//score/mw/log:backend_table", - "@score_baselibs//score/mw/log:console", + "@score_baselibs//score/mw/log", ], ) @@ -153,7 +152,7 @@ cc_test( deps = [ ":slog", "@googletest//:gtest_main", - "@score_baselibs//score/mw/log:backend_table", + "@score_baselibs//score/mw/log", ], ) diff --git a/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp b/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp index 678cf214..e4cffd35 100644 --- a/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp +++ b/score/mw/log/detail/data_router/data_router_message_client_identifiers_test.cpp @@ -1,3 +1,16 @@ +/******************************************************************************** + * Copyright (c) 2025 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ + #include "score/mw/log/detail/data_router/data_router_message_client_identifiers.h" #include "gmock/gmock.h" #include "gtest/gtest.h" diff --git a/score/mw/log/detail/utils/signal_handling/signal_handling_test.cpp b/score/mw/log/detail/utils/signal_handling/signal_handling_test.cpp index 19c3defc..528b9e6c 100644 --- a/score/mw/log/detail/utils/signal_handling/signal_handling_test.cpp +++ b/score/mw/log/detail/utils/signal_handling/signal_handling_test.cpp @@ -1,3 +1,16 @@ +/******************************************************************************** + * Copyright (c) 2025 Contributors to the Eclipse Foundation + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * This program and the accompanying materials are made available under the + * terms of the Apache License Version 2.0 which is available at + * https://www.apache.org/licenses/LICENSE-2.0 + * + * SPDX-License-Identifier: Apache-2.0 + ********************************************************************************/ + #include "score/mw/log/detail/utils/signal_handling/signal_handling.h" #include "score/os/errno.h" #include "score/os/utils/mocklib/signalmock.h" diff --git a/score/mw/log/rust/score_log_bridge/BUILD b/score/mw/log/rust/score_log_bridge/BUILD index 45c6f1b9..573e2f02 100644 --- a/score/mw/log/rust/score_log_bridge/BUILD +++ b/score/mw/log/rust/score_log_bridge/BUILD @@ -50,8 +50,7 @@ cc_library( }), visibility = ["//visibility:private"], deps = [ - "//score/mw/log/detail/common:recorder_factory", - "@score_baselibs//score/mw/log:frontend", + "@score_baselibs//score/mw/log", ], ) diff --git a/score/mw/log/rust/score_log_bridge_cpp_init/BUILD b/score/mw/log/rust/score_log_bridge_cpp_init/BUILD index 99a9549f..fdbfbf62 100644 --- a/score/mw/log/rust/score_log_bridge_cpp_init/BUILD +++ b/score/mw/log/rust/score_log_bridge_cpp_init/BUILD @@ -33,7 +33,7 @@ cc_library( deps = [ ":ffi", # Link dependency required by `:ffi`. - "//score/mw/log/detail/common:recorder_factory", + "@score_baselibs//score/mw/log", ], ) From 680833a73a6c6489ff8df9058d8965ed9931f62c Mon Sep 17 00:00:00 2001 From: rmaddikery Date: Tue, 28 Apr 2026 16:54:51 +0200 Subject: [PATCH 47/49] Fix: Adds missing x86_64_qnx feature to rust_test target --- score/mw/log/rust/score_log_bridge/BUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/score/mw/log/rust/score_log_bridge/BUILD b/score/mw/log/rust/score_log_bridge/BUILD index 573e2f02..b88df7b3 100644 --- a/score/mw/log/rust/score_log_bridge/BUILD +++ b/score/mw/log/rust/score_log_bridge/BUILD @@ -90,6 +90,7 @@ rust_test( crate_features = select({ ":x86_64-linux": ["x86_64_linux"], ":arm64-qnx": ["arm64_qnx"], + ":x86_64-qnx": ["x86_64_qnx"], "//conditions:default": [], }), edition = "2021", From eac00f804a8da7e207142b29d1a8e65291048849 Mon Sep 17 00:00:00 2001 From: rmaddikery Date: Wed, 29 Apr 2026 10:23:05 +0200 Subject: [PATCH 48/49] Adds deprecation warning for mw/log target - @score_baselibs//score/mw/log target that supports additive backends should be used instead. --- score/mw/log/BUILD | 1 + 1 file changed, 1 insertion(+) diff --git a/score/mw/log/BUILD b/score/mw/log/BUILD index 8f5b4ad3..33939c66 100644 --- a/score/mw/log/BUILD +++ b/score/mw/log/BUILD @@ -21,6 +21,7 @@ COMPILER_WARNING_FEATURES = [ cc_library( name = "log", + deprecation = "Usage of target '@score_logging//score/mw/log' is deprecated and will be removed in the v0.8 release. Please use '@score_baselibs//score/mw/log' instead.", features = COMPILER_WARNING_FEATURES, tags = ["FFI"], visibility = ["//visibility:public"], From 6fb7f46f3c69006799895447c11f1a37683872b0 Mon Sep 17 00:00:00 2001 From: rmaddikery Date: Thu, 30 Apr 2026 11:01:04 +0200 Subject: [PATCH 49/49] score_log_bridge: add file, remote, and slog backend deps - Links all available mw/log C++ backends in the rust log_bridge so that the users get all backends without adding the deps themselves. - A todo note linked to an issue to track and resolve the tech debt after its resolved. --- score/mw/log/rust/score_log_bridge/BUILD | 7 ++++++- score/mw/log/rust/score_log_bridge_cpp_init/BUILD | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/score/mw/log/rust/score_log_bridge/BUILD b/score/mw/log/rust/score_log_bridge/BUILD index b88df7b3..fc6087c1 100644 --- a/score/mw/log/rust/score_log_bridge/BUILD +++ b/score/mw/log/rust/score_log_bridge/BUILD @@ -50,8 +50,13 @@ cc_library( }), visibility = ["//visibility:private"], deps = [ + "//score/mw/log/backend:file", # TODO: Remove after score/issues/2848 is resolved + "//score/mw/log/backend:remote", # TODO: Remove after score/issues/2848 is resolved "@score_baselibs//score/mw/log", - ], + ] + select({ + "@platforms//os:qnx": ["//score/mw/log/backend:slog"], # TODO: Remove after score/issues/2848 is resolved + "//conditions:default": [], + }), ) rust_library( diff --git a/score/mw/log/rust/score_log_bridge_cpp_init/BUILD b/score/mw/log/rust/score_log_bridge_cpp_init/BUILD index fdbfbf62..af14d9d3 100644 --- a/score/mw/log/rust/score_log_bridge_cpp_init/BUILD +++ b/score/mw/log/rust/score_log_bridge_cpp_init/BUILD @@ -34,7 +34,12 @@ cc_library( ":ffi", # Link dependency required by `:ffi`. "@score_baselibs//score/mw/log", - ], + "//score/mw/log/backend:file", # TODO: Remove after score/issues/2848 is resolved + "//score/mw/log/backend:remote", # TODO: Remove after score/issues/2848 is resolved + ] + select({ + "@platforms//os:qnx": ["//score/mw/log/backend:slog"], # TODO: Remove after score/issues/2848 is resolved + "//conditions:default": [], + }), ) # Example consists of Rust library, C++ library, C++ application.