def calculate_targets()

in buildkite/bazelci.py [0:0]


def calculate_targets(task_config, platform, bazel_binary, build_only, test_only):
    build_targets = [] if test_only else task_config.get("build_targets", [])
    test_targets = [] if build_only else task_config.get("test_targets", [])
    coverage_targets = [] if (build_only or test_only) else task_config.get("coverage_targets", [])
    index_targets = [] if (build_only or test_only) else task_config.get("index_targets", [])

    index_targets_query = (
        None if (build_only or test_only) else task_config.get("index_targets_query", None)
    )
    if index_targets_query:
        output = execute_command_and_get_output(
            [bazel_binary]
            + common_startup_flags(platform)
            + ["--nomaster_bazelrc", "--bazelrc=/dev/null", "query", index_targets_query],
            print_output=False,
        )
        index_targets += output.strip().split("\n")

    # Remove the "--" argument splitter from the list that some configs explicitly
    # include. We'll add it back again later where needed.
    build_targets = [x.strip() for x in build_targets if x.strip() != "--"]
    test_targets = [x.strip() for x in test_targets if x.strip() != "--"]
    coverage_targets = [x.strip() for x in coverage_targets if x.strip() != "--"]
    index_targets = [x.strip() for x in index_targets if x.strip() != "--"]

    shard_id = int(os.getenv("BUILDKITE_PARALLEL_JOB", "-1"))
    shard_count = int(os.getenv("BUILDKITE_PARALLEL_JOB_COUNT", "-1"))
    if shard_id > -1 and shard_count > -1:
        print_collapsed_group(
            ":female-detective: Calculating targets for shard {}/{}".format(
                shard_id + 1, shard_count
            )
        )
        expanded_test_targets = expand_test_target_patterns(bazel_binary, platform, test_targets)
        test_targets = get_targets_for_shard(expanded_test_targets, shard_id, shard_count)

    return build_targets, test_targets, coverage_targets, index_targets