# -*- mode: python -*- Import("env") env = env.Clone() env.Library( target='write_ops', source=[ 'delete.cpp', 'insert.cpp', 'update.cpp', 'write_ops_retryability.cpp', 'single_write_result.idl', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/concurrency/exception_util', '$BUILD_DIR/mongo/db/concurrency/lock_manager', '$BUILD_DIR/mongo/db/curop', '$BUILD_DIR/mongo/db/introspect', '$BUILD_DIR/mongo/db/matcher/expressions_mongod_only', '$BUILD_DIR/mongo/db/query/command_request_response', '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/db/repl/image_collection_entry', '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/shard_role', '$BUILD_DIR/mongo/db/update/update_driver', ], ) env.Library( target='write_ops_exec', source=[ 'write_ops_exec.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/catalog/catalog_helpers', '$BUILD_DIR/mongo/db/catalog/collection_crud', '$BUILD_DIR/mongo/db/catalog/collection_options', '$BUILD_DIR/mongo/db/concurrency/exception_util', '$BUILD_DIR/mongo/db/curop', '$BUILD_DIR/mongo/db/curop_metrics', '$BUILD_DIR/mongo/db/dbhelpers', '$BUILD_DIR/mongo/db/introspect', '$BUILD_DIR/mongo/db/record_id_helpers', '$BUILD_DIR/mongo/db/repl/oplog', '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/s/query_analysis_writer', '$BUILD_DIR/mongo/db/shard_role', '$BUILD_DIR/mongo/db/stats/counters', '$BUILD_DIR/mongo/db/stats/server_read_concern_write_concern_metrics', '$BUILD_DIR/mongo/db/stats/top', '$BUILD_DIR/mongo/db/timeseries/timeseries_conversion_util', '$BUILD_DIR/mongo/db/transaction/transaction', '$BUILD_DIR/mongo/util/fail_point', '$BUILD_DIR/mongo/util/log_and_backoff', 'write_ops', ], ) env.Library( target='write_ops_parsers', source=[ 'write_ops.cpp', 'write_ops.idl', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/auth/authprivilege', '$BUILD_DIR/mongo/db/dbmessage', '$BUILD_DIR/mongo/db/pipeline/runtime_constants_idl', '$BUILD_DIR/mongo/db/query/hint_parser', '$BUILD_DIR/mongo/db/repl/optime', '$BUILD_DIR/mongo/idl/idl_parser', '$BUILD_DIR/mongo/rpc/command_status', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/crypto/encrypted_field_config', '$BUILD_DIR/mongo/crypto/fle_fields', '$BUILD_DIR/mongo/util/namespace_string_database_name_util', ], ) env.Library( target='write_ops_parsers_test_helpers', source=[ 'write_ops_parsers_test_helpers.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/dbmessage', ], ) env.Library( target='parsed_update_array_filters', source='parsed_update_array_filters.cpp', LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/query_expressions', ], ) env.Library( target='parsed_update', source='parsed_update.cpp', LIBDEPS=[ '$BUILD_DIR/mongo/db/update/update_driver', 'parsed_update_array_filters', ], ) env.CppUnitTest( target='db_ops_test', source=[ 'write_ops_exec_test.cpp', 'write_ops_parsers_test.cpp', 'write_ops_retryability_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authmocks', '$BUILD_DIR/mongo/db/catalog/catalog_test_fixture', '$BUILD_DIR/mongo/db/catalog/collection_crud', '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/db/record_id_helpers', '$BUILD_DIR/mongo/db/repl/mock_repl_coord_server_fixture', '$BUILD_DIR/mongo/db/repl/oplog_entry', '$BUILD_DIR/mongo/db/session/session_catalog', '$BUILD_DIR/mongo/db/timeseries/bucket_compression', '$BUILD_DIR/mongo/db/transaction/transaction', 'write_ops', 'write_ops_exec', 'write_ops_parsers', 'write_ops_parsers_test_helpers', ], ) env.CppIntegrationTest( target='db_ops_integration_test', source='write_ops_document_stream_integration_test.cpp', LIBDEPS=[ '$BUILD_DIR/mongo/client/clientdriver_network', '$BUILD_DIR/mongo/transport/transport_layer_egress_init', '$BUILD_DIR/mongo/util/version_impl', ], )