# Description:
#   Tulsi, an Xcode project generator for Bazel-bazed projects.

load("//tools/build_defs/license:license.bzl", "license")
load(
    ":version.bzl",
    "TULSI_VERSION_DATE",
    "TULSI_VERSION_MAJOR",
    "fill_info_plist",
)
load("@build_bazel_rules_apple//apple:versioning.bzl", "apple_bundle_version")
load("@build_bazel_rules_apple//apple:macos.bzl", "macos_application")

package(
    default_applicable_licenses = ["//:license"],
    default_visibility = ["//:__subpackages__"],
)

license(
    name = "license",
    package_name = "tulsi",
)

licenses(["notice"])

exports_files(["LICENSE"])

fill_info_plist(
    name = "info_plist",
    out = "Info.plist",
    template = "//src/Tulsi:Info.plist",
)

apple_bundle_version(
    name = "AppVersion",
    build_label_pattern = "{project}_{date}_[A-Za-z]*{buildnum}",
    build_version = "%s.{date}.{buildnum}" % TULSI_VERSION_MAJOR,
    capture_groups = {
        "project": "[^_]*",
        "date": "\\d+",
        "buildnum": "\\d+",
    },
    fallback_build_label = "tulsi_%s_build88" % TULSI_VERSION_DATE,
)

genrule(
    name = "combine_strings",
    srcs = [
        "//src/Tulsi:en.lproj/Localizable.strings",
        "//src/TulsiGenerator:en.lproj/Localizable.strings",
    ],
    outs = [
        "en.lproj/Localizable.strings",
    ],
    cmd = (
        "cat $(location //src/Tulsi:en.lproj/Localizable.strings) > $(location en.lproj/Localizable.strings); " +
        "echo '\n\n' >> $(location en.lproj/Localizable.strings); " +
        "cat $(location //src/TulsiGenerator:en.lproj/Localizable.strings) >> $(location en.lproj/Localizable.strings); "
    ),
)

filegroup(
    name = "strings",
    srcs = [
        "en.lproj/Localizable.strings",
        "//src/TulsiGenerator:en.lproj/Options.strings",
    ],
)

macos_application(
    name = "tulsi",
    additional_contents = {
        "//src/tools/bazel_cache_reader": "MacOS",
        "//src/tools/module_cache_pruner": "MacOS",
    },
    app_icons = ["//src/Tulsi:Icon"],
    bundle_id = "com.google.Tulsi",
    bundle_name = "Tulsi",
    infoplists = [":Info.plist"],
    minimum_os_version = "11.0",
    strings = [":strings"],
    version = ":AppVersion",
    visibility = ["//visibility:public"],
    deps = [
        "//src/Tulsi:tulsi_lib",
    ],
)

test_suite(
    name = "tests",
    tests = [
        "//src/TulsiGeneratorIntegrationTests",
        "//src/TulsiGeneratorTests",
    ],
)

filegroup(
    name = "for_bazel_tests",
    testonly = 1,
    srcs = [
        "WORKSPACE",
        "@build_bazel_rules_apple//:for_bazel_tests",
    ],
)
