# -*- mode: python; -*-

Import("env")
Import('wiredtiger')

env = env.Clone()

env.SConscript(
    dirs=[
        'util',
    ],
    exports=[
        'env',
    ],
)

env.Library(
    target='clustered_collection_options',
    source=[
        'clustered_collection_options.idl',
        'clustered_collection_util.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/server_base',
    ],
)

env.Library(
    target='collection_options',
    source=[
        'collection_options.cpp',
        'collection_options.idl',
        'collection_options_validation.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/crypto/encrypted_field_config',
        '$BUILD_DIR/mongo/db/pipeline/change_stream_pre_and_post_images_options',
        '$BUILD_DIR/mongo/db/query/query_shape/query_shape',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/common',
        '$BUILD_DIR/mongo/db/query/collation/collator_interface',
        '$BUILD_DIR/mongo/db/query/query_knobs',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/timeseries/timeseries_options',
        'clustered_collection_options',
    ],
)

env.Library(
    target='document_validation',
    source=[
        'document_validation.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/service_context',
    ],
)

env.Library(
    target='commit_quorum_options',
    source=[
        'commit_quorum.idl',
        'commit_quorum_options.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/bson/util/bson_extract',
        '$BUILD_DIR/mongo/db/server_base',
    ],
)

env.Library(
    target='validate_idl',
    source=[
        'validate.idl',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/server_base',
    ],
)

env.Library(
    target='index_build_entry_idl',
    source=[
        'index_build_entry.idl',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/util/net/network',
        'commit_quorum_options',
    ],
)

env.Library(
    target='health_log_interface',
    source=[
        'health_log.idl',
        'health_log_interface.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/service_context',
        '$BUILD_DIR/mongo/util/namespace_string_database_name_util',
    ],
)

env.Library(
    target='health_log',
    source=[
        'health_log.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/concurrency/deferred_writer',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/service_context',
        '$BUILD_DIR/mongo/util/namespace_string_database_name_util',
        'collection_options',
        'health_log_interface',
    ],
)

env.Library(
    target='index_repair',
    source=[
        'index_repair.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/concurrency/exception_util',
        '$BUILD_DIR/mongo/db/index/index_access_method',
        '$BUILD_DIR/mongo/db/query/query_stats/query_stats',
        '$BUILD_DIR/mongo/db/shard_role',
        '$BUILD_DIR/mongo/db/storage/duplicate_key_error_info',
        '$BUILD_DIR/mongo/db/storage/key_string',
        'collection_crud',
        'validate_state',
    ],
)

env.Library(
    target='index_builds_manager',
    source=[
        'index_builds_manager.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/concurrency/exception_util',
        '$BUILD_DIR/mongo/db/query/query_knobs',
        '$BUILD_DIR/mongo/db/query/query_stats/query_stats',
        '$BUILD_DIR/mongo/db/shard_role',
        '$BUILD_DIR/mongo/db/storage/record_store_base',
        '$BUILD_DIR/mongo/db/storage/storage_repair_observer',
        '$BUILD_DIR/mongo/util/progress_meter',
        'index_repair',
        'multi_index_block',
    ],
)

env.Library(
    target='index_build_oplog_entry',
    source=[
        'index_build_oplog_entry.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/bson/util/bson_extract',
        '$BUILD_DIR/mongo/db/repl/oplog_entry',
        '$BUILD_DIR/mongo/rpc/command_status',
        'commit_quorum_options',
    ],
)

env.Library(
    target='index_key_validate',
    source=[
        'index_key_validate.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/common',
        '$BUILD_DIR/mongo/db/index/index_access_method',
        '$BUILD_DIR/mongo/db/query/collation/collator_factory_interface',
        '$BUILD_DIR/mongo/db/query_expressions',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/util/fail_point',
    ],
)

env.Library(
    target='index_catalog',
    source=[
        'index_catalog.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/storage/storage_options',
        'index_catalog_entry',
    ],
)

env.Library(
    target='index_catalog_entry',
    source=[
        'index_catalog_entry.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
    ],
)

env.Library(
    target='index_build_block',
    source=[
        'index_build_block.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/audit',
        '$BUILD_DIR/mongo/db/collection_index_usage_tracker',
        '$BUILD_DIR/mongo/db/common',
        '$BUILD_DIR/mongo/db/index/index_access_method',
        '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/ttl_collection_cache',
        '$BUILD_DIR/mongo/db/vector_clock',
        'collection_catalog',
        'collection_query_info',
        'index_key_validate',
    ],
)

env.Library(
    target='collection_crud',
    source=[
        'capped_collection_maintenance.cpp',
        'collection_write_path.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/query/query_stats/query_stats',
        '$BUILD_DIR/mongo/db/record_id_helpers',
        '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface',
        '$BUILD_DIR/mongo/db/shard_role_api',
        '$BUILD_DIR/mongo/db/storage/capped_snapshots',
        '$BUILD_DIR/mongo/db/storage/index_entry_comparison',
        '$BUILD_DIR/mongo/db/storage/record_store_base',
        '$BUILD_DIR/mongo/db/storage/storage_options',
        '$BUILD_DIR/mongo/db/storage/write_unit_of_work',
        '$BUILD_DIR/mongo/db/write_stage_common',
        '$BUILD_DIR/mongo/util/fail_point',
        'document_validation',
        'local_oplog_info',
    ],
)

env.Library(
    target='database_holder',
    source=[
        'database_holder.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/service_context',
        '$BUILD_DIR/mongo/db/shard_role_api',
    ],
)

env.Library(
    target='multi_index_block',
    source=[
        'multi_index_block.cpp',
        'multi_index_block.idl',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/concurrency/exception_util',
        '$BUILD_DIR/mongo/db/index/index_access_method',
        '$BUILD_DIR/mongo/db/query/query_stats/query_stats',
        '$BUILD_DIR/mongo/db/query_exec',
        '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface',
        '$BUILD_DIR/mongo/db/resumable_index_builds_idl',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/service_context',
        '$BUILD_DIR/mongo/db/shard_role',
        '$BUILD_DIR/mongo/db/storage/storage_options',
        '$BUILD_DIR/mongo/db/storage/write_unit_of_work',
        '$BUILD_DIR/mongo/db/timeseries/timeseries_conversion_util',
        '$BUILD_DIR/mongo/util/fail_point',
        '$BUILD_DIR/mongo/util/log_and_backoff',
        '$BUILD_DIR/mongo/util/progress_meter',
        'collection_catalog',
        'collection_query_info',
        'index_build_block',
        'index_catalog',
    ],
)

env.Library(
    target='collection_catalog',
    source=[
        'collection_catalog.cpp',
        'uncommitted_catalog_updates.cpp',
        'uncommitted_multikey.cpp',
        'views_for_database.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/shard_role_api',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/audit',
        '$BUILD_DIR/mongo/db/concurrency/lock_manager',
        '$BUILD_DIR/mongo/db/index/index_access_method',
        '$BUILD_DIR/mongo/db/profile_filter',
        '$BUILD_DIR/mongo/db/query/collation/collator_factory_interface',
        '$BUILD_DIR/mongo/db/query/query_stats/query_stats',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/service_context',
        '$BUILD_DIR/mongo/db/storage/bson_collection_catalog_entry',
        '$BUILD_DIR/mongo/db/storage/storage_options',
        '$BUILD_DIR/mongo/db/views/views',
        '$BUILD_DIR/mongo/util/namespace_string_database_name_util',
        'collection_crud',
    ],
)

env.Benchmark(
    target='collection_catalog_bm',
    source=[
        'collection_catalog_bm.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/concurrency/lock_manager',
        '$BUILD_DIR/mongo/db/multitenancy',
        'collection_catalog',
    ],
)

env.Library(
    target='catalog_control',
    source=[
        'catalog_control.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/index_builds_coordinator_interface',
        '$BUILD_DIR/mongo/db/multitenancy',
        '$BUILD_DIR/mongo/db/rebuild_indexes',
        '$BUILD_DIR/mongo/db/repl/oplog',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/service_context',
        '$BUILD_DIR/mongo/db/timeseries/timeseries_extended_range',
        'catalog_stats',
        'collection_catalog',
        'database_holder',
    ],
)

env.Library(
    target='validate_state',
    source=[
        'validate_state.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/multitenancy',
        '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/shard_role',
        '$BUILD_DIR/mongo/db/storage/storage_options',
        '$BUILD_DIR/mongo/db/views/views',
        '$BUILD_DIR/mongo/util/fail_point',
        'collection_catalog',
        'database_holder',
        'index_catalog',
        'throttle_cursor',
    ],
)

env.Library(
    target='catalog_impl',
    source=[
        'collection_impl.cpp',
        'column_index_consistency.cpp',
        'database_holder_impl.cpp',
        'database_impl.cpp',
        'index_catalog_entry_impl.cpp',
        'index_catalog_impl.cpp',
        'index_consistency.cpp',
        'virtual_collection_impl.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/audit',
        '$BUILD_DIR/mongo/db/collection_index_usage_tracker',
        '$BUILD_DIR/mongo/db/commands/server_status_core',
        '$BUILD_DIR/mongo/db/concurrency/lock_manager',
        '$BUILD_DIR/mongo/db/dbcommands_idl',
        '$BUILD_DIR/mongo/db/index/column_store_index',
        '$BUILD_DIR/mongo/db/index/index_access_method',
        '$BUILD_DIR/mongo/db/multitenancy',
        '$BUILD_DIR/mongo/db/op_observer/op_observer',
        '$BUILD_DIR/mongo/db/query/query_stats/query_stats',
        '$BUILD_DIR/mongo/db/record_id_helpers',
        '$BUILD_DIR/mongo/db/repl/drop_pending_collection_reaper',
        '$BUILD_DIR/mongo/db/repl/oplog',
        '$BUILD_DIR/mongo/db/repl/repl_server_parameters',
        '$BUILD_DIR/mongo/db/repl/repl_settings',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/service_context',
        '$BUILD_DIR/mongo/db/shard_role',
        '$BUILD_DIR/mongo/db/storage/capped_snapshots',
        '$BUILD_DIR/mongo/db/storage/durable_catalog_impl',
        '$BUILD_DIR/mongo/db/storage/execution_context',
        '$BUILD_DIR/mongo/db/storage/historical_ident_tracker',
        '$BUILD_DIR/mongo/db/storage/key_string',
        '$BUILD_DIR/mongo/db/storage/record_store_base',
        '$BUILD_DIR/mongo/db/storage/storage_engine_common',
        '$BUILD_DIR/mongo/db/storage/storage_engine_impl',
        '$BUILD_DIR/mongo/db/storage/storage_util',
        '$BUILD_DIR/mongo/db/system_index',
        '$BUILD_DIR/mongo/db/timeseries/timeseries_conversion_util',
        '$BUILD_DIR/mongo/db/timeseries/timeseries_extended_range',
        '$BUILD_DIR/mongo/db/transaction/transaction',
        '$BUILD_DIR/mongo/db/ttl_collection_cache',
        '$BUILD_DIR/mongo/db/vector_clock',
        '$BUILD_DIR/mongo/db/views/view_catalog_helpers',
        '$BUILD_DIR/mongo/util/progress_meter',
        'capped_visibility',
        'catalog_helpers',
        'catalog_stats',
        'clustered_collection_options',
        'collection_crud',
        'collection_options',
        'collection_query_info',
        'document_validation',
        'health_log_interface',
        'index_build_block',
        'index_catalog',
        'index_catalog_entry',
        'index_key_validate',
        'index_repair',
        'local_oplog_info',
        'storage_engine_collection_options_flags_parser',
        'throttle_cursor',
        'validate_idl',
        'validate_state',
    ],
)

env.Library(
    target='catalog_stats',
    source=[
        'catalog_stats.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/commands/server_status_core',
        '$BUILD_DIR/mongo/db/multitenancy',
        '$BUILD_DIR/mongo/db/views/views',
        'collection_catalog',
        'database_holder',
    ],
)

env.Library(
    target='collection_validation',
    source=[
        'collection_validation.cpp',
        'validate_adaptor.cpp',
        'validate_results.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/bson/util/bson_column',
        '$BUILD_DIR/mongo/db/concurrency/exception_util',
        '$BUILD_DIR/mongo/db/index/index_access_method',
        '$BUILD_DIR/mongo/db/multi_key_path_tracker',
        '$BUILD_DIR/mongo/db/query/query_stats/query_stats',
        '$BUILD_DIR/mongo/db/record_id_helpers',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/service_context',
        '$BUILD_DIR/mongo/db/shard_role',
        '$BUILD_DIR/mongo/db/storage/execution_context',
        '$BUILD_DIR/mongo/db/storage/key_string',
        '$BUILD_DIR/mongo/db/storage/record_store_base',
        '$BUILD_DIR/mongo/db/timeseries/bucket_catalog/bucket_catalog',
        '$BUILD_DIR/mongo/db/timeseries/timeseries_extended_range',
        '$BUILD_DIR/mongo/db/timeseries/timeseries_options',
        '$BUILD_DIR/mongo/util/progress_meter',
        'catalog_impl',
        'clustered_collection_options',
        'collection_options',
        'index_catalog',
        'index_key_validate',
        'throttle_cursor',
        'validate_state',
    ],
)

env.Library(
    target='throttle_cursor',
    source=[
        'throttle_cursor.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/index/index_access_method',
        '$BUILD_DIR/mongo/db/query/query_stats/query_stats',
        '$BUILD_DIR/mongo/util/fail_point',
        'validate_idl',
    ],
)

env.Library(
    target='capped_visibility',
    source=[
        'capped_visibility.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/storage/recovery_unit_base',
    ],
)

env.Library(
    target='local_oplog_info',
    source=[
        'local_oplog_info.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/repl/optime',
        '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/shard_role_api',
        '$BUILD_DIR/mongo/db/storage/flow_control',
        '$BUILD_DIR/mongo/db/storage/record_store_base',
        '$BUILD_DIR/mongo/db/vector_clock_mutable',
    ],
)

env.Library(
    target='catalog_helpers',
    source=[
        'backwards_compatible_collection_options_util.cpp',
        'capped_utils.cpp',
        'coll_mod.cpp',
        'coll_mod_index.cpp',
        'collection_catalog_helper.cpp',
        'collection_compact.cpp',
        'create_collection.cpp',
        'drop_collection.cpp',
        'drop_database.cpp',
        'drop_indexes.cpp',
        'external_data_source_scope_guard.cpp',
        'list_indexes.cpp',
        'rename_collection.cpp',
        'unique_collection_name.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/audit',
        '$BUILD_DIR/mongo/db/concurrency/exception_util',
        '$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/ops/write_ops',
        '$BUILD_DIR/mongo/db/query_exec',
        '$BUILD_DIR/mongo/db/repl/drop_pending_collection_reaper',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/server_feature_flags',
        '$BUILD_DIR/mongo/db/shard_role',
        '$BUILD_DIR/mongo/db/stats/top',
        '$BUILD_DIR/mongo/db/storage/index_entry_comparison',
        '$BUILD_DIR/mongo/db/storage/key_string',
        '$BUILD_DIR/mongo/db/storage/record_store_base',
        '$BUILD_DIR/mongo/db/storage/storage_options',
        '$BUILD_DIR/mongo/db/timeseries/catalog_helper',
        '$BUILD_DIR/mongo/db/timeseries/timeseries_conversion_util',
        '$BUILD_DIR/mongo/db/timeseries/timeseries_options',
        '$BUILD_DIR/mongo/db/ttl_collection_cache',
        '$BUILD_DIR/mongo/db/views/view_catalog_helpers',
        '$BUILD_DIR/mongo/db/views/views',
        '$BUILD_DIR/mongo/util/namespace_string_database_name_util',
        'cannot_convert_index_to_unique_info',
        'clustered_collection_options',
        'collection_crud',
        'collection_options',
        'collection_uuid_mismatch_info',
        'document_validation',
        'index_catalog',
        'index_key_validate',
        'local_oplog_info',
        'multi_index_block',
        'throttle_cursor',
    ],
)

env.Library(
    target='collection_query_info',
    source=[
        '$BUILD_DIR/mongo/db/query/collection_query_info.cpp',
        '$BUILD_DIR/mongo/db/query/collection_index_usage_tracker_decoration.cpp',
        '$BUILD_DIR/mongo/db/query/plan_cache_key_factory.cpp',
        '$BUILD_DIR/mongo/db/query/query_settings_decoration.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/query/query_plan_cache',
        '$BUILD_DIR/mongo/db/update_index_data',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/collection_index_usage_tracker',
        '$BUILD_DIR/mongo/db/fts/base_fts',
        '$BUILD_DIR/mongo/db/query/query_planner',
        '$BUILD_DIR/mongo/db/query/query_stats/query_stats',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/service_context',
        '$BUILD_DIR/mongo/db/shard_role_api',
        'collection_catalog',
        'index_catalog',
    ],
)

env.Library(
    target='import_collection_oplog_entry',
    source=[
        'import_collection_oplog_entry.idl',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/util/namespace_string_database_name_util',
    ],
)

env.Library(
    target='catalog_test_fixture',
    source=[
        'catalog_test_fixture.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/auth/authmocks',
        '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface',
        '$BUILD_DIR/mongo/db/repl/replmocks',
        '$BUILD_DIR/mongo/db/repl/storage_interface_impl',
        '$BUILD_DIR/mongo/db/server_base',
        '$BUILD_DIR/mongo/db/service_context_d_test_fixture',
        'catalog_helpers',
    ],
)

env.Library(
    target='cannot_convert_index_to_unique_info',
    source=[
        'cannot_convert_index_to_unique_info.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
    ],
)

env.Library(
    target='collection_uuid_mismatch_info',
    source=[
        'collection_uuid_mismatch_info.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
    ],
)

env.CppUnitTest(
    target='db_collection_query_info_test', source=[
        '$BUILD_DIR/mongo/db/query/collection_query_info_test.cpp',
    ], LIBDEPS=[
        '$BUILD_DIR/mongo/db/index/index_access_method',
        '$BUILD_DIR/mongo/db/storage/devnull/storage_devnull_core',
        'collection_query_info',
    ])

if wiredtiger:
    wtEnv = env.Clone()
    wtEnv.InjectThirdParty(libraries=["wiredtiger"])

    wtEnv.Library(
        target="storage_engine_collection_options_flags_parser",
        source=[
            "storage_engine_collection_options_flags_parser.cpp",
        ],
        LIBDEPS_PRIVATE=[
            "$BUILD_DIR/mongo/db/storage/wiredtiger/storage_wiredtiger",
            "$BUILD_DIR/mongo/util/pcre_wrapper",
        ],
    )

    wtEnv.CppUnitTest(
        target='db_catalog_test',
        source=[
            'backwards_compatible_collection_options_util_test.cpp',
            'capped_collection_test.cpp',
            'capped_visibility_test.cpp',
            'capped_utils_test.cpp',
            'catalog_control_test.cpp',
            'collection_catalog_test.cpp',
            'collection_options_test.cpp',
            'collection_test.cpp',
            'collection_validation_test.cpp',
            'collection_writer_test.cpp',
            'coll_mod_test.cpp',
            'column_index_consistency_test.cpp',
            'commit_quorum_options_test.cpp',
            'create_collection_test.cpp',
            'database_test.cpp',
            'drop_database_test.cpp',
            'index_build_entry_test.cpp',
            'index_builds_manager_test.cpp',
            'index_key_validate_test.cpp',
            'index_signature_test.cpp',
            'index_spec_validate_test.cpp',
            'multi_index_block_test.cpp',
            'rename_collection_test.cpp',
            'storage_engine_collection_options_flags_parser_test.cpp',
            'throttle_cursor_test.cpp',
            'validate_state_test.cpp',
        ],
        LIBDEPS=[
            '$BUILD_DIR/mongo/db/auth/authmocks',
            '$BUILD_DIR/mongo/db/commands/create_command',
            '$BUILD_DIR/mongo/db/commands/test_commands_enabled',
            '$BUILD_DIR/mongo/db/dbhelpers',
            '$BUILD_DIR/mongo/db/index/index_access_method',
            '$BUILD_DIR/mongo/db/index_builds_coordinator_mongod',
            '$BUILD_DIR/mongo/db/multitenancy',
            '$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/query/datetime/date_time_support',
            '$BUILD_DIR/mongo/db/query/query_test_service_context',
            '$BUILD_DIR/mongo/db/query_expressions',
            '$BUILD_DIR/mongo/db/repl/drop_pending_collection_reaper',
            '$BUILD_DIR/mongo/db/repl/oplog',
            '$BUILD_DIR/mongo/db/repl/oplog_application',
            '$BUILD_DIR/mongo/db/repl/optime',
            '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface',
            '$BUILD_DIR/mongo/db/repl/replmocks',
            '$BUILD_DIR/mongo/db/repl/storage_interface_impl',
            '$BUILD_DIR/mongo/db/server_base',
            '$BUILD_DIR/mongo/db/service_context',
            '$BUILD_DIR/mongo/db/service_context_d_test_fixture',
            '$BUILD_DIR/mongo/db/service_context_test_fixture',
            '$BUILD_DIR/mongo/db/shard_role',
            '$BUILD_DIR/mongo/db/storage/wiredtiger/storage_wiredtiger',
            '$BUILD_DIR/mongo/db/timeseries/timeseries_collmod',
            '$BUILD_DIR/mongo/db/timeseries/timeseries_options',
            '$BUILD_DIR/mongo/unittest/unittest',
            '$BUILD_DIR/mongo/util/clock_source_mock',
            '$BUILD_DIR/mongo/util/fail_point',
            '$BUILD_DIR/mongo/util/pcre_wrapper',
            'capped_visibility',
            'catalog_control',
            'catalog_helpers',
            'catalog_impl',
            'catalog_test_fixture',
            'collection_catalog',
            'collection_crud',
            'collection_options',
            'collection_query_info',
            'collection_validation',
            'commit_quorum_options',
            'database_holder',
            'index_build_block',
            'index_build_entry_idl',
            'index_builds_manager',
            'index_key_validate',
            'multi_index_block',
            'storage_engine_collection_options_flags_parser',
            'throttle_cursor',
            'validate_idl',
            'validate_state',
        ],
    )
