| load("@bazel_skylib//rules:select_file.bzl", "select_file") |
| load( |
| "@rules_ruby//ruby:defs.bzl", |
| "rb_binary", |
| "rb_gem_build", |
| "rb_gem_push", |
| "rb_test", |
| ) |
| load("//common:defs.bzl", "copy_file") |
| |
| package(default_visibility = ["//:__subpackages__"]) |
| |
| GITHUB_PACKAGES_HOST = "https://rubygems.pkg.github.com/SeleniumHQ" |
| |
| copy_file( |
| name = "manager-linux", |
| src = "//common/manager:selenium-manager-linux", |
| out = "bin/linux/selenium-manager", |
| ) |
| |
| copy_file( |
| name = "manager-macos", |
| src = "//common/manager:selenium-manager-macos", |
| out = "bin/macos/selenium-manager", |
| ) |
| |
| copy_file( |
| name = "manager-windows", |
| src = "//common/manager:selenium-manager-windows", |
| out = "bin/windows/selenium-manager.exe", |
| ) |
| |
| select_file( |
| name = "global-license", |
| srcs = "//:license", |
| subpath = "LICENSE", |
| ) |
| |
| select_file( |
| name = "global-notice", |
| srcs = "//:license", |
| subpath = "NOTICE", |
| ) |
| |
| copy_file( |
| name = "license", |
| src = ":global-license", |
| out = "LICENSE", |
| ) |
| |
| copy_file( |
| name = "notice", |
| src = ":global-notice", |
| out = "NOTICE", |
| ) |
| |
| rb_gem_build( |
| name = "selenium-webdriver", |
| srcs = [ |
| "Gemfile", |
| "selenium-webdriver.gemspec", |
| ], |
| data = [ |
| "CHANGES", |
| "README.md", |
| ":license", |
| ":manager-linux", |
| ":manager-macos", |
| ":manager-windows", |
| ":notice", |
| ], |
| gemspec = "selenium-webdriver.gemspec", |
| tags = [ |
| "release-artifact", |
| ], |
| deps = [ |
| "//rb/lib:selenium-webdriver", |
| "//rb/lib/selenium:server", |
| "//rb/lib/selenium:webdriver", |
| "//rb/lib/selenium/webdriver:atoms", |
| "//rb/lib/selenium/webdriver:bidi", |
| "//rb/lib/selenium/webdriver:chrome", |
| "//rb/lib/selenium/webdriver:common", |
| "//rb/lib/selenium/webdriver:edge", |
| "//rb/lib/selenium/webdriver:firefox", |
| "//rb/lib/selenium/webdriver:ie", |
| "//rb/lib/selenium/webdriver:remote", |
| "//rb/lib/selenium/webdriver:safari", |
| "//rb/lib/selenium/webdriver:version", |
| ], |
| ) |
| |
| rb_gem_push( |
| name = "selenium-webdriver-release", |
| gem = ":selenium-webdriver", |
| ) |
| |
| rb_gem_build( |
| name = "selenium-devtools", |
| srcs = [ |
| "Gemfile", |
| "selenium-devtools.gemspec", |
| ], |
| data = [ |
| "CHANGES", |
| "README.md", |
| ":license", |
| ":notice", |
| ], |
| gemspec = "selenium-devtools.gemspec", |
| tags = [ |
| "release-artifact", |
| ], |
| deps = ["//rb/lib/selenium:devtools"], |
| ) |
| |
| rb_gem_push( |
| name = "selenium-devtools-release", |
| gem = ":selenium-devtools", |
| ) |
| |
| rb_binary( |
| name = "selenium-webdriver-bump-nightly-version", |
| args = [ |
| "rb/lib/selenium/support/nightly_version_generator.rb", |
| "rb/lib/selenium/webdriver/version.rb", |
| ], |
| deps = [ |
| "//rb/lib/selenium/support:nightly_version_generator", |
| "//rb/lib/selenium/webdriver:version", |
| ], |
| ) |
| |
| rb_gem_push( |
| name = "selenium-webdriver-release-nightly", |
| args = [ |
| "--host", |
| GITHUB_PACKAGES_HOST, |
| ], |
| gem = ":selenium-webdriver", |
| ) |
| |
| rb_binary( |
| name = "selenium-devtools-bump-nightly-version", |
| args = [ |
| "rb/lib/selenium/support/nightly_version_generator.rb", |
| "rb/lib/selenium/devtools/version.rb", |
| ], |
| deps = [ |
| "//rb/lib/selenium/devtools:version", |
| "//rb/lib/selenium/support:nightly_version_generator", |
| ], |
| ) |
| |
| rb_gem_push( |
| name = "selenium-devtools-release-nightly", |
| args = [ |
| "--host", |
| GITHUB_PACKAGES_HOST, |
| ], |
| gem = ":selenium-devtools", |
| ) |
| |
| rb_binary( |
| name = "docs", |
| args = [ |
| "doc", |
| "--output-dir=docs/api/rb", |
| "--readme=rb/README.md", |
| "rb/", |
| ], |
| main = "@bundle//bin:yard", |
| deps = [ |
| ":selenium-devtools", |
| ":selenium-webdriver", |
| "@bundle", |
| ], |
| ) |
| |
| rb_test( |
| name = "lint", |
| args = [ |
| "--autocorrect", |
| "--config=rb/.rubocop.yml", |
| "rb/", |
| "Rakefile", |
| ], |
| data = [ |
| ".rubocop.yml", |
| "//:rakefile", |
| ], |
| main = "@bundle//bin:rubocop", |
| tags = [ |
| "no-sandbox", |
| "skip-rbe", |
| ], |
| deps = [ |
| ":selenium-devtools", |
| ":selenium-webdriver", |
| "//rb/lib/selenium/devtools:cdp-generate", |
| "//rb/lib/selenium/support:nightly_version_generator", |
| "//rb/spec", |
| "@bundle", |
| ], |
| ) |
| |
| rb_binary( |
| name = "console", |
| args = [ |
| "-rselenium-webdriver", |
| "-rselenium/devtools", |
| "-Irb/lib", |
| ], |
| main = "@bundle//bin:irb", |
| deps = [ |
| ":selenium-devtools", |
| ":selenium-webdriver", |
| "@bundle", |
| ], |
| ) |