# -*- mode: python -*- Import("env") env = env.Clone() env.Library( target='transaction', source=[ 'retryable_writes_stats.cpp', 'server_transactions_metrics.cpp', 'session_catalog_mongod_transaction_interface_impl.cpp', 'transaction_history_iterator.cpp', 'transaction_metrics_observer.cpp', 'transaction_participant.cpp', 'transaction_participant_resource_yielder.cpp', 'transaction_participant.idl', 'transactions_stats.idl', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/catalog/collection_crud', '$BUILD_DIR/mongo/db/catalog/local_oplog_info', '$BUILD_DIR/mongo/db/commands/server_status_core', '$BUILD_DIR/mongo/db/commands/test_commands_enabled', '$BUILD_DIR/mongo/db/commands/txn_cmd_request', '$BUILD_DIR/mongo/db/concurrency/exception_util', '$BUILD_DIR/mongo/db/curop_failpoint_helpers', '$BUILD_DIR/mongo/db/dbdirectclient', '$BUILD_DIR/mongo/db/index/index_access_method', '$BUILD_DIR/mongo/db/index_builds_coordinator_interface', '$BUILD_DIR/mongo/db/index_commands_idl', '$BUILD_DIR/mongo/db/internal_transactions_feature_flag', '$BUILD_DIR/mongo/db/multitenancy', '$BUILD_DIR/mongo/db/not_primary_error_tracker', '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/db/repl/apply_ops_command_info', '$BUILD_DIR/mongo/db/repl/repl_server_parameters', '$BUILD_DIR/mongo/db/repl/replica_set_aware_service', '$BUILD_DIR/mongo/db/server_base', '$BUILD_DIR/mongo/db/session/session_catalog', '$BUILD_DIR/mongo/db/session/session_catalog_mongod', '$BUILD_DIR/mongo/db/shard_role', '$BUILD_DIR/mongo/db/stats/fill_locker_info', '$BUILD_DIR/mongo/db/stats/top', '$BUILD_DIR/mongo/db/stats/transaction_stats', '$BUILD_DIR/mongo/db/update/update_driver', '$BUILD_DIR/mongo/s/sharding_router_api', '$BUILD_DIR/mongo/util/concurrency/thread_pool', 'transaction_operations', ], ) env.Library( target='transaction_operations', source=[ 'transaction_operations.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/repl/oplog_entry', ], ) env.Library( target='transaction_api', source=[ 'internal_transaction_metrics.cpp', 'transaction_api.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/auth/auth', '$BUILD_DIR/mongo/db/operation_time_tracker', '$BUILD_DIR/mongo/db/query/command_request_response', '$BUILD_DIR/mongo/db/query/query_request', '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/session/logical_session_id', '$BUILD_DIR/mongo/db/session/logical_session_id_helpers', '$BUILD_DIR/mongo/db/session/session_catalog', '$BUILD_DIR/mongo/db/shard_role_api', '$BUILD_DIR/mongo/db/shared_request_handling', '$BUILD_DIR/mongo/executor/inline_executor', '$BUILD_DIR/mongo/executor/task_executor_interface', '$BUILD_DIR/mongo/rpc/command_status', '$BUILD_DIR/mongo/rpc/rpc', '$BUILD_DIR/mongo/transport/service_entry_point', ], ) env.CppUnitTest( target='db_transaction_test', source=[ 'transaction_api_test.cpp', 'transaction_history_iterator_test.cpp', 'transaction_operations_test.cpp', 'transaction_participant_retryable_writes_test.cpp', 'transaction_participant_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authmocks', '$BUILD_DIR/mongo/db/dbhelpers', '$BUILD_DIR/mongo/db/op_observer/op_observer', '$BUILD_DIR/mongo/db/op_observer/op_observer_impl', '$BUILD_DIR/mongo/db/op_observer/oplog_writer_impl', '$BUILD_DIR/mongo/db/repl/image_collection_entry', '$BUILD_DIR/mongo/db/repl/mock_repl_coord_server_fixture', '$BUILD_DIR/mongo/db/repl/replica_set_aware_service', '$BUILD_DIR/mongo/db/repl/storage_interface_impl', '$BUILD_DIR/mongo/db/service_context_d_test_fixture', '$BUILD_DIR/mongo/db/service_context_test_fixture', '$BUILD_DIR/mongo/db/session/session_catalog', '$BUILD_DIR/mongo/db/session/session_catalog_mongod', '$BUILD_DIR/mongo/db/stats/transaction_stats', '$BUILD_DIR/mongo/db/storage/storage_control', '$BUILD_DIR/mongo/executor/inline_executor', '$BUILD_DIR/mongo/s/sharding_router_api', 'transaction', 'transaction_api', 'transaction_operations', ], )