gngrOrg / grinder

a test suite for gngr
Apache License 2.0
4 stars 1 forks source link

avoid selenium driver #9

Open hrj opened 9 years ago

hrj commented 9 years ago

Selenium driver pulls in a ton of dependencies:

[info]   +-org.scala-lang.modules:scala-xml_2.11:1.0.5 [S]
[info]   +-org.seleniumhq.selenium:selenium-java:2.45.0
[info]     +-org.seleniumhq.selenium:selenium-chrome-driver:2.45.0
[info]     | +-org.seleniumhq.selenium:selenium-remote-driver:2.45.0
[info]     |   +-cglib:cglib-nodep:2.1_3
[info]     |   +-com.google.code.gson:gson:2.3.1
[info]     |   +-com.google.guava:guava:18.0
[info]     |   +-net.java.dev.jna:jna:3.4.0
[info]     |   +-net.java.dev.jna:platform:3.4.0
[info]     |   +-org.apache.commons:commons-exec:1.1
[info]     |   +-org.apache.httpcomponents:httpclient:4.3.6
[info]     |   | +-commons-codec:commons-codec:1.6 (evicted by: 1.9)
[info]     |   | +-commons-codec:commons-codec:1.9
[info]     |   | +-commons-logging:commons-logging:1.1.3
[info]     |   | +-org.apache.httpcomponents:httpcore:4.3.3
[info]     |   | 
[info]     |   +-org.seleniumhq.selenium:selenium-api:2.45.0
[info]     |     +-com.google.code.gson:gson:2.3.1
[info]     |     +-com.google.guava:guava:18.0
[info]     |     
[info]     +-org.seleniumhq.selenium:selenium-firefox-driver:2.45.0
[info]     | +-commons-io:commons-io:2.4
[info]     | +-org.apache.commons:commons-exec:1.1
[info]     | +-org.seleniumhq.selenium:selenium-remote-driver:2.45.0
[info]     |   +-cglib:cglib-nodep:2.1_3
[info]     |   +-com.google.code.gson:gson:2.3.1
[info]     |   +-com.google.guava:guava:18.0
[info]     |   +-net.java.dev.jna:jna:3.4.0
[info]     |   +-net.java.dev.jna:platform:3.4.0
[info]     |   +-org.apache.commons:commons-exec:1.1
[info]     |   +-org.apache.httpcomponents:httpclient:4.3.6
[info]     |   | +-commons-codec:commons-codec:1.6 (evicted by: 1.9)
[info]     |   | +-commons-codec:commons-codec:1.9
[info]     |   | +-commons-logging:commons-logging:1.1.3
[info]     |   | +-org.apache.httpcomponents:httpcore:4.3.3
[info]     |   | 
[info]     |   +-org.seleniumhq.selenium:selenium-api:2.45.0
[info]     |     +-com.google.code.gson:gson:2.3.1
[info]     |     +-com.google.guava:guava:18.0
[info]     |     
[info]     +-org.seleniumhq.selenium:selenium-htmlunit-driver:2.45.0
[info]     | +-net.sourceforge.htmlunit:htmlunit:2.15
[info]     | | +-commons-codec:commons-codec:1.9
[info]     | | +-commons-collections:commons-collections:3.2.1
[info]     | | +-commons-io:commons-io:2.4
[info]     | | +-commons-logging:commons-logging:1.1.3
[info]     | | +-net.sourceforge.cssparser:cssparser:0.9.14
[info]     | | | +-org.w3c.css:sac:1.3
[info]     | | | 
[info]     | | +-net.sourceforge.htmlunit:htmlunit-core-js:2.15
[info]     | | +-net.sourceforge.nekohtml:nekohtml:1.9.21
[info]     | | +-org.apache.commons:commons-lang3:3.3.2
[info]     | | +-org.apache.httpcomponents:httpclient:4.3.3 (evicted by: 4.3.6)
[info]     | | +-org.apache.httpcomponents:httpclient:4.3.6
[info]     | | | +-commons-codec:commons-codec:1.6 (evicted by: 1.9)
[info]     | | | +-commons-codec:commons-codec:1.9
[info]     | | | +-commons-logging:commons-logging:1.1.3
[info]     | | | +-org.apache.httpcomponents:httpcore:4.3.3
[info]     | | | 
[info]     | | +-org.apache.httpcomponents:httpmime:4.3.3
[info]     | | | +-org.apache.httpcomponents:httpclient:4.3.3 (evicted by: 4.3.6)
[info]     | | | +-org.apache.httpcomponents:httpclient:4.3.6
[info]     | | |   +-commons-codec:commons-codec:1.6 (evicted by: 1.9)
[info]     | | |   +-commons-codec:commons-codec:1.9
[info]     | | |   +-commons-logging:commons-logging:1.1.3
[info]     | | |   +-org.apache.httpcomponents:httpcore:4.3.3
[info]     | | |   
[info]     | | +-org.eclipse.jetty:jetty-websocket:8.1.15.v20140411
[info]     | | | +-org.eclipse.jetty:jetty-http:8.1.15.v20140411
[info]     | | | | +-org.eclipse.jetty:jetty-io:8.1.15.v20140411
[info]     | | | |   +-org.eclipse.jetty:jetty-util:8.1.15.v20140411
[info]     | | | |   
[info]     | | | +-org.eclipse.jetty:jetty-io:8.1.15.v20140411
[info]     | | | | +-org.eclipse.jetty:jetty-util:8.1.15.v20140411
[info]     | | | | 
[info]     | | | +-org.eclipse.jetty:jetty-util:8.1.15.v20140411
[info]     | | | 
[info]     | | +-xalan:xalan:2.7.1
[info]     | | | +-xalan:serializer:2.7.1
[info]     | | |   +-xml-apis:xml-apis:1.3.04 (evicted by: 1.4.01)
[info]     | | |   +-xml-apis:xml-apis:1.4.01
[info]     | | |   
[info]     | | +-xerces:xercesImpl:2.11.0
[info]     | |   +-xml-apis:xml-apis:1.3.04 (evicted by: 1.4.01)
[info]     | |   +-xml-apis:xml-apis:1.4.01
[info]     | |   
[info]     | +-org.apache.httpcomponents:httpclient:4.3.6
[info]     | | +-commons-codec:commons-codec:1.6 (evicted by: 1.9)
[info]     | | +-commons-codec:commons-codec:1.9
[info]     | | +-commons-logging:commons-logging:1.1.3
[info]     | | +-org.apache.httpcomponents:httpcore:4.3.3
[info]     | | 
[info]     | +-org.seleniumhq.selenium:selenium-remote-driver:2.45.0
[info]     |   +-cglib:cglib-nodep:2.1_3
[info]     |   +-com.google.code.gson:gson:2.3.1
[info]     |   +-com.google.guava:guava:18.0
[info]     |   +-net.java.dev.jna:jna:3.4.0
[info]     |   +-net.java.dev.jna:platform:3.4.0
[info]     |   +-org.apache.commons:commons-exec:1.1
[info]     |   +-org.apache.httpcomponents:httpclient:4.3.6
[info]     |   | +-commons-codec:commons-codec:1.6 (evicted by: 1.9)
[info]     |   | +-commons-codec:commons-codec:1.9
[info]     |   | +-commons-logging:commons-logging:1.1.3
[info]     |   | +-org.apache.httpcomponents:httpcore:4.3.3
[info]     |   | 
[info]     |   +-org.seleniumhq.selenium:selenium-api:2.45.0
[info]     |     +-com.google.code.gson:gson:2.3.1
[info]     |     +-com.google.guava:guava:18.0
[info]     |     
[info]     +-org.seleniumhq.selenium:selenium-ie-driver:2.45.0
[info]     | +-net.java.dev.jna:jna:3.4.0
[info]     | +-net.java.dev.jna:platform:3.4.0
[info]     | +-org.seleniumhq.selenium:selenium-remote-driver:2.45.0
[info]     |   +-cglib:cglib-nodep:2.1_3
[info]     |   +-com.google.code.gson:gson:2.3.1
[info]     |   +-com.google.guava:guava:18.0
[info]     |   +-net.java.dev.jna:jna:3.4.0
[info]     |   +-net.java.dev.jna:platform:3.4.0
[info]     |   +-org.apache.commons:commons-exec:1.1
[info]     |   +-org.apache.httpcomponents:httpclient:4.3.6
[info]     |   | +-commons-codec:commons-codec:1.6 (evicted by: 1.9)
[info]     |   | +-commons-codec:commons-codec:1.9
[info]     |   | +-commons-logging:commons-logging:1.1.3
[info]     |   | +-org.apache.httpcomponents:httpcore:4.3.3
[info]     |   | 
[info]     |   +-org.seleniumhq.selenium:selenium-api:2.45.0
[info]     |     +-com.google.code.gson:gson:2.3.1
[info]     |     +-com.google.guava:guava:18.0
[info]     |     
[info]     +-org.seleniumhq.selenium:selenium-leg-rc:2.45.0
[info]     | +-org.seleniumhq.selenium:selenium-remote-driver:2.45.0
[info]     |   +-cglib:cglib-nodep:2.1_3
[info]     |   +-com.google.code.gson:gson:2.3.1
[info]     |   +-com.google.guava:guava:18.0
[info]     |   +-net.java.dev.jna:jna:3.4.0
[info]     |   +-net.java.dev.jna:platform:3.4.0
[info]     |   +-org.apache.commons:commons-exec:1.1
[info]     |   +-org.apache.httpcomponents:httpclient:4.3.6
[info]     |   | +-commons-codec:commons-codec:1.6 (evicted by: 1.9)
[info]     |   | +-commons-codec:commons-codec:1.9
[info]     |   | +-commons-logging:commons-logging:1.1.3
[info]     |   | +-org.apache.httpcomponents:httpcore:4.3.3
[info]     |   | 
[info]     |   +-org.seleniumhq.selenium:selenium-api:2.45.0
[info]     |     +-com.google.code.gson:gson:2.3.1
[info]     |     +-com.google.guava:guava:18.0
[info]     |     
[info]     +-org.seleniumhq.selenium:selenium-safari-driver:2.45.0
[info]     | +-org.seleniumhq.selenium:selenium-remote-driver:2.45.0
[info]     | | +-cglib:cglib-nodep:2.1_3
[info]     | | +-com.google.code.gson:gson:2.3.1
[info]     | | +-com.google.guava:guava:18.0
[info]     | | +-net.java.dev.jna:jna:3.4.0
[info]     | | +-net.java.dev.jna:platform:3.4.0
[info]     | | +-org.apache.commons:commons-exec:1.1
[info]     | | +-org.apache.httpcomponents:httpclient:4.3.6
[info]     | | | +-commons-codec:commons-codec:1.6 (evicted by: 1.9)
[info]     | | | +-commons-codec:commons-codec:1.9
[info]     | | | +-commons-logging:commons-logging:1.1.3
[info]     | | | +-org.apache.httpcomponents:httpcore:4.3.3
[info]     | | | 
[info]     | | +-org.seleniumhq.selenium:selenium-api:2.45.0
[info]     | |   +-com.google.code.gson:gson:2.3.1
[info]     | |   +-com.google.guava:guava:18.0
[info]     | |   
[info]     | +-org.webbitserver:webbit:0.4.14
[info]     |   +-io.netty:netty:3.5.2.Final
[info]     |   
[info]     +-org.seleniumhq.selenium:selenium-support:2.45.0
[info]     | +-org.seleniumhq.selenium:selenium-remote-driver:2.45.0
[info]     |   +-cglib:cglib-nodep:2.1_3
[info]     |   +-com.google.code.gson:gson:2.3.1
[info]     |   +-com.google.guava:guava:18.0
[info]     |   +-net.java.dev.jna:jna:3.4.0
[info]     |   +-net.java.dev.jna:platform:3.4.0
[info]     |   +-org.apache.commons:commons-exec:1.1
[info]     |   +-org.apache.httpcomponents:httpclient:4.3.6
[info]     |   | +-commons-codec:commons-codec:1.6 (evicted by: 1.9)
[info]     |   | +-commons-codec:commons-codec:1.9
[info]     |   | +-commons-logging:commons-logging:1.1.3
[info]     |   | +-org.apache.httpcomponents:httpcore:4.3.3
[info]     |   | 
[info]     |   +-org.seleniumhq.selenium:selenium-api:2.45.0
[info]     |     +-com.google.code.gson:gson:2.3.1
[info]     |     +-com.google.guava:guava:18.0
[info]     |     
[info]     +-org.webbitserver:webbit:0.4.14
[info]       +-io.netty:netty:3.5.2.Final
hrj commented 9 years ago

This is especially of concern on travis-CI builds, because the downloads are restarted for every run. (There is no cache).

One idea could be to recompile the selenium-java package to only include the firefox driver as dependency.

hrj commented 9 years ago

One idea could be to recompile the selenium-java package to only include the firefox driver as dependency.

I was able to achieve the above by using the intransitive flag in the sbt project definition.

See https://github.com/UprootLabs/grinder/commit/07b8360e2403064e9f69e9bb8747cda3209153ae