blob: 33809c85c1c5f7c3cf513d3c4e4f212b40038237 [file] [log] [blame] [edit]
load("//common:defs.bzl", "copy_file")
load("//dotnet:defs.bzl", "csharp_library", "devtools_version_targets", "framework", "generated_assembly_info", "nuget_pack")
load(
"//dotnet:selenium-dotnet-version.bzl",
"ASSEMBLY_COMPANY",
"ASSEMBLY_COPYRIGHT",
"ASSEMBLY_INFORMATIONAL_VERSION",
"ASSEMBLY_PRODUCT",
"ASSEMBLY_VERSION",
"SE_VERSION",
)
exports_files([
"WebDriver.csproj",
])
generated_assembly_info(
name = "assembly-info",
company = ASSEMBLY_COMPANY,
copyright = ASSEMBLY_COPYRIGHT,
description = "Selenium WebDriver API .NET Bindings",
informational_version = ASSEMBLY_INFORMATIONAL_VERSION,
product = ASSEMBLY_PRODUCT,
title = "Selenium WebDriver",
version = ASSEMBLY_VERSION,
)
csharp_library(
name = "webdriver",
srcs = [
":assembly-info",
] + glob([
"**/*.cs",
]) + devtools_version_targets(),
out = "WebDriver",
internals_visible_to = [
"WebDriver.Common.Tests",
],
langversion = "10.0",
resources = [
"//javascript/atoms/fragments:find-elements.js",
"//javascript/atoms/fragments:is-displayed.js",
"//javascript/cdp-support:mutation-listener.js",
"//javascript/webdriver/atoms:get-attribute.js",
"//third_party/js/selenium:webdriver_json",
],
target_frameworks = [
"netstandard2.0",
],
visibility = [
"//dotnet:__subpackages__",
],
deps = [
framework("nuget", "NETStandard.Library"),
framework("nuget", "Newtonsoft.Json"),
],
)
csharp_library(
name = "webdriver-strongnamed",
srcs = [
":assembly-info",
] + glob([
"**/*.cs",
]) + devtools_version_targets(),
out = "WebDriver.StrongNamed",
keyfile = "//dotnet:WebDriver.snk",
langversion = "10.0",
resources = [
"//javascript/atoms/fragments:find-elements.js",
"//javascript/atoms/fragments:is-displayed.js",
"//javascript/cdp-support:mutation-listener.js",
"//javascript/webdriver/atoms:get-attribute.js",
"//third_party/js/selenium:webdriver_json",
],
target_frameworks = [
"netstandard2.0",
],
visibility = [
"//dotnet:__subpackages__",
],
deps = [
framework("nuget", "NETStandard.Library"),
framework("nuget", "Newtonsoft.Json"),
],
)
copy_file(
name = "readme",
src = "//dotnet/src/webdriver/assets:README.md",
out = "README.md",
)
copy_file(
name = "props",
src = "//dotnet/src/webdriver/assets:Selenium.WebDriver.targets",
out = "Selenium.WebDriver.targets",
)
copy_file(
name = "transitive-props",
src = "//dotnet/src/webdriver/assets:Selenium.WebDriver.targets",
out = "transitive.Selenium.WebDriver.targets",
)
copy_file(
name = "manager-linux",
src = "//common/manager:selenium-manager-linux",
out = "manager/linux/selenium-manager",
visibility = ["//dotnet/test/common:__pkg__"],
)
copy_file(
name = "manager-macos",
src = "//common/manager:selenium-manager-macos",
out = "manager/macos/selenium-manager",
visibility = ["//dotnet/test/common:__pkg__"],
)
copy_file(
name = "manager-windows",
src = "//common/manager:selenium-manager-windows",
out = "manager/windows/selenium-manager.exe",
visibility = ["//dotnet/test/common:__pkg__"],
)
nuget_pack(
name = "webdriver-pack",
files = {
"//common/images:selenium_logo_small.png": "icon.png",
"//common/manager:selenium-manager-linux": "manager/linux/selenium-manager",
"//common/manager:selenium-manager-macos": "manager/macos/selenium-manager",
"//common/manager:selenium-manager-windows": "manager/windows/selenium-manager.exe",
":readme": "README.md",
":props": "build/Selenium.WebDriver.targets",
":transitive-props": "buildTransitive/Selenium.WebDriver.targets",
},
id = "Selenium.WebDriver",
libs = {
":webdriver": "WebDriver",
},
nuspec_template = "WebDriver.nuspec",
tags = [
"block-network",
],
version = SE_VERSION,
visibility = [
"//dotnet:__subpackages__",
],
)
nuget_pack(
name = "webdriver-strongnamed-pack",
files = {
"//common/images:selenium_logo_small.png": "icon.png",
"//common/manager:selenium-manager-linux": "manager/linux/selenium-manager",
"//common/manager:selenium-manager-macos": "manager/macos/selenium-manager",
"//common/manager:selenium-manager-windows": "manager/windows/selenium-manager.exe",
":readme": "README.md",
":props": "build/Selenium.WebDriver.StrongNamed.targets",
":transitive-props": "buildTransitive/Selenium.WebDriver.StrongNamed.targets",
},
id = "Selenium.WebDriver.StrongNamed",
libs = {
":webdriver-strongnamed": "WebDriver.StrongNamed",
},
nuspec_template = "WebDriver.StrongNamed.nuspec",
property_group_vars = {
"BaseImagePath": "images",
"BaseSeleniumManagerPath": "manager",
},
tags = [
"block-network",
],
version = SE_VERSION,
visibility = [
"//dotnet:__subpackages__",
],
)