From f0c230c2c7cc5c88b0d80b95ca61d86d1dfb700f Mon Sep 17 00:00:00 2001 From: Ganesh Sittampalam Date: Sat, 14 Jan 2017 10:48:38 +0000 Subject: [PATCH] selenium-server-standalone: restore htmlunit-driver support It was moved to a separate project between versions 2.45 and 2.53: https://github.com/SeleniumHQ/selenium/commit/2d3150b --- .../selenium/htmlunit-driver/default.nix | 25 +++++++++++++++++++ .../tools/selenium/server/default.nix | 7 +++--- pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/tools/selenium/htmlunit-driver/default.nix diff --git a/pkgs/development/tools/selenium/htmlunit-driver/default.nix b/pkgs/development/tools/selenium/htmlunit-driver/default.nix new file mode 100644 index 00000000000..2fc38db1bb0 --- /dev/null +++ b/pkgs/development/tools/selenium/htmlunit-driver/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl }: + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "htmlunit-driver-standalone-${version}"; + version = "2.21"; + + src = fetchurl { + url = "https://github.com/SeleniumHQ/htmlunit-driver/releases/download/${version}/htmlunit-driver-standalone-${version}.jar"; + sha256 = "1wrbam0hb036717z3y73lsw4pwp5sdiw2i1818kg9pvc7i3fb3yn"; + }; + + unpackPhase = "true"; + + installPhase = "install -D $src $out/share/lib/${name}/${name}.jar"; + + meta = { + homepage = https://github.com/SeleniumHQ/htmlunit-driver; + description = "A WebDriver server for running Selenium tests on the HtmlUnit headless browser"; + maintainers = with maintainers; [ coconnor offline ]; + platforms = platforms.all; + license = licenses.asl20; + }; +} diff --git a/pkgs/development/tools/selenium/server/default.nix b/pkgs/development/tools/selenium/server/default.nix index fe8bf2b13b5..ca225adab6d 100644 --- a/pkgs/development/tools/selenium/server/default.nix +++ b/pkgs/development/tools/selenium/server/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, makeWrapper, jre, jdk, gcc, xorg -, chromedriver, chromeSupport ? true }: +, htmlunit-driver, chromedriver, chromeSupport ? true }: with stdenv.lib; @@ -25,8 +25,9 @@ in stdenv.mkDerivation rec { mkdir -p $out/share/lib/${name} cp $src $out/share/lib/${name}/${name}.jar makeWrapper ${jre}/bin/java $out/bin/selenium-server \ - --add-flags "-jar $out/share/lib/${name}/${name}.jar" \ - --add-flags ${optionalString chromeSupport "-Dwebdriver.chrome.driver=${chromedriver}/bin/chromedriver"} + --add-flags "-cp ${htmlunit-driver}/share/lib/${htmlunit-driver.name}/${htmlunit-driver.name}.jar:$out/share/lib/${name}/${name}.jar" \ + --add-flags ${optionalString chromeSupport "-Dwebdriver.chrome.driver=${chromedriver}/bin/chromedriver"} \ + --add-flags "org.openqa.grid.selenium.GridLauncher" ''; meta = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0f0085c2bca..ab9d1d692b0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6356,6 +6356,8 @@ in heroku = callPackage ../development/tools/heroku { }; + htmlunit-driver = callPackage ../development/tools/selenium/htmlunit-driver { }; + hyenae = callPackage ../tools/networking/hyenae { }; icestorm = callPackage ../development/tools/icestorm { };