load(
    "//dotnet:defs.bzl",
    "csharp_library",
    "generated_assembly_info",
    "nuget_pack",
)
load(
    "//dotnet:selenium-dotnet-version.bzl",
    "ASSEMBLY_COMPANY",
    "ASSEMBLY_COPYRIGHT",
    "ASSEMBLY_INFORMATIONAL_VERSION",
    "ASSEMBLY_PRODUCT",
    "ASSEMBLY_VERSION",
    "SE_VERSION",
)

generated_assembly_info(
    name = "assembly-info",
    company = ASSEMBLY_COMPANY,
    copyright = ASSEMBLY_COPYRIGHT,
    description = "Selenium WebDriver .NET Bindings support classes",
    informational_version = ASSEMBLY_INFORMATIONAL_VERSION,
    product = ASSEMBLY_PRODUCT,
    title = "Selenium WebDriver Support",
    version = ASSEMBLY_VERSION,
)

csharp_library(
    name = "support",
    srcs = glob([
        "*.cs",
        "Events/*.cs",
        "Extensions/*.cs",
        "PageObjects/**/*.cs",
        "UI/*.cs",
    ]) + [":assembly-info"],
    out = "WebDriver.Support",
    langversion = "12.0",
    nullable = "enable",
    target_frameworks = [
        "netstandard2.0",
    ],
    visibility = [
        "//dotnet:__subpackages__",
    ],
    deps = [
        "//dotnet/src/webdriver:webdriver-netstandard2.0",
    ],
)

nuget_pack(
    name = "support-pack",
    files = {
        "//common/images:selenium_logo_small.png": "icon.png",
    },
    id = "Selenium.Support",
    libs = {
        ":support": "WebDriver.Support",
    },
    nuspec_template = "WebDriver.Support.nuspec",
    tags = [
        "block-network",
    ],
    version = SE_VERSION,
    visibility = ["//visibility:public"],
)

csharp_library(
    name = "support-strongnamed",
    srcs = glob([
        "*.cs",
        "Events/*.cs",
        "Extensions/*.cs",
        "PageObjects/**/*.cs",
        "UI/*.cs",
    ]) + [":assembly-info"],
    out = "WebDriver.Support.StrongNamed",
    keyfile = "//dotnet:WebDriver.snk",
    langversion = "12.0",
    nullable = "enable",
    target_frameworks = [
        "netstandard2.0",
    ],
    visibility = [
        "//dotnet:__subpackages__",
    ],
    deps = [
        "//dotnet/src/webdriver:webdriver-netstandard2.0-strongnamed",
    ],
)

nuget_pack(
    name = "support-strongnamed-pack",
    files = {
        "//common/images:selenium_logo_small.png": "icon.png",
    },
    id = "Selenium.Support.StrongNamed",
    libs = {
        ":support-strongnamed": "WebDriver.Support.StrongNamed",
    },
    nuspec_template = "WebDriver.Support.StrongNamed.nuspec",
    tags = [
        "block-network",
    ],
    version = SE_VERSION,
    visibility = ["//visibility:public"],
)
