Skip to content

Epic: Retire deprecated Baselibs APIs and Bazel targets #595

Description

@4og

Purpose

Coordinate removal of deprecated Baselibs Bazel targets and C++ compatibility APIs after consumers have migrated.

This Epic covers the active deprecated surface only: Bazel target aliases/shims and C++ APIs or macros.

Deprecated surface

Category Deprecated items Required migration Deprecated since / provenance
Rust source-layout Bazel shims: #596 //src/containers:containers
//src/elementary:elementary
//src/log/score_log:score_log
//src/log/stdout_logger:stdout_logger
//src/log/stdout_logger_cpp_init:stdout_logger_cpp_init
//src/sync:sync
//src/testing_macros:score_testing_macros
//src/thread:thread
Use their corresponding //score/... targets: containers_rust, allocator, log_rust/*, sync, testing_macros, and thread. #334, merged 2026-07-02 (9c2a448)
String-manipulation Bazel shims: #596 //score/memory:{string_literal,string_comparison_adaptor, split_string_view} Use matching //score/string_manipulation:* targets. #396, merged 2026-07-21 (7469a0d)
Atomic-indirection Bazel shims: #596 //score/memory/shared:{atomic_interface, atomic_indirector, atomic_indirector_mock_binding} Use matching //score/concurrency:* targets. #396, merged 2026-07-21 (b1de724)
Logging Bazel aliases //score/mw/log:{console_only_backend,backend_stub_testutil} Use :console, or :console / :minimal respectively. 2026-03-25 author date, publicly committed 2026-04-14 (cd1ade5), no associated public PR.
Clock Bazel target //score/os/utils:high_resolution_steady_clock Use //platform/aas/mw/time:HighPrecisionLocalSteadyClock. Present at first locally traceable Copybara import, 2025-04-25.
String C++ alias score::StringLiteral Use std::string, std::string_view, safecpp::zstring_view, or const char*, depending on use. 2026-04-10 (de91f49), no associated public PR.
Result C++ aliases score::cpp::Blank
score::cpp::ResultBlank
Use void and Result<void>. #351, merged 2026-07-09 (1427aa4). #385 subsequently corrected ResultBlank to alias Result<void> directly.
Static-reflection macros STRUCT_VISITABLE
STRUCT_TRACEABLE
MEMCPY_SERIALIZABLE
MEMCPY_SERIALIZABLE_IF
Use the equivalent SCORE_* macro. #370, merged 2026-07-28 (685ad49)
Timed-task factories DelayedTask::{Make,MakeWithTaskResult}
PeriodicTask::{Make,MakeWithTaskResult}
Use concurrency/timed_executor/{delayed_task,periodic_task}.h. Periodic tasks require ConcurrentTimedExecutor. Present no later than public import on 2025-04-17. Deprecated for performance reasons.
Legacy continuations The callback overloads of TaskResult::Then and SharedTaskResult::Then Use the scoped-callback overload. Present no later than public import on 2025-04-17. References Ticket-141243.
Logging C++ APIs mw::log::LogStr(char[N])
LogStream::operator<<(char pointer)
Log supported string-like types directly. Present no later than public import on 2025-04-14. The pointer overload performs a runtime length scan.
Linux OS API score::os::pthread_setaffinity_np(size_t) Use score::os::set_thread_affinity(). Present no later than public import on 2025-04-17.
QNX OS APIs Neutrino::ChannelCreate(uint32_t)
Two older Neutrino::TimerTimeout overloads
Use ChannelCreate(ChannelFlag) and the latest TimerTimeout overload. Present in public imports/restructuring by 2025-07-18.

Notes

  • //score/memory:string_literal and score::StringLiteral are independently deprecated. Migrating only the Bazel target does not remove the C++ alias usage.
  • src/ contains no Rust implementation after repo: restructure Rust components #334. Its eight public aliases exist solely for Bazel-label compatibility.
  • The older 2025 entries predate retained public provenance. Their dates are first observable dates in this repository, not necessarily the original deprecation dates.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions