Search code examples
gradlegroovygebsaucelabs

passing params in Gradle to Sauce config


Is there a way to pass below parameters to gradle build so a log can be generated for sauce connect when build.gradle starts sauce connect. My set up is gradle-geb-saucelabs

bin/sc --logfile some_filename.log -vv

my build.gradle is below . The below is answer is helpful in understanding how to pass args in gradle but I am still trying to find how pass them to sauceConnect through gradle.

import geb.gradle.saucelabs.SauceAccount

apply plugin: "geb-saucelabs"

buildscript {
    repositories {
        jcenter()
    }    

    dependencies {
       classpath 'org.gebish:geb-gradle:0.13.1'
    }
}

apply plugin: 'java'
apply plugin: 'groovy'

repositories {

    mavenCentral()
    maven { url "http://repository-saucelabs.forge.cloudbees.com/release" }
}

dependencies {
           def seleniumVersion = '2.45.0'
           def phantomJsVersion = '1.1.0'
           def groovyVersion = '2.4.3'

    //groovy
    compile "org.codehaus.groovy:groovy-all:$groovyVersion"

    // selenium drivers
     testCompile "org.seleniumhq.selenium:selenium-ie-driver:$seleniumVersion"
     testCompile "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion"
     //testCompile "org.seleniumhq.selenium:selenium-firefox-driver:$seleniumVersion"
     testCompile "org.seleniumhq.selenium:selenium-support:$seleniumVersion"
     testRuntime "org.seleniumhq.selenium:selenium-support:$seleniumVersion"
     testCompile("com.github.detro.ghostdriver:phantomjsdriver:$phantomJsVersion") {
     transitive = false
    }

    // geb
    testCompile "org.gebish:geb-spock:0.10.0"

     // spock
    testCompile 'org.spockframework:spock-core:1.0-groovy-2.4'

    //junit
    testCompile "org.gebish:geb-junit4:0.10.0"
    testCompile "junit:junit-dep:4.8.2"


    sauceConnect "com.saucelabs:sauce-connect:3.0.28"
    sauceConnect "com.saucelabs:ci-sauce:1.81"

        }




sauceLabs {
    browsers { 

       chrome_mac

    }
    task { 
       testClassesDir = test.testClassesDir
       testSrcDirs = test.testSrcDirs
       classpath = test.classpath
    }

    account { 
       //username = System.getenv(SauceAccount.USER_ENV_VAR)
       //accessKey = System.getenv(SauceAccount.ACCESS_KEY_ENV_VAR)

      username = System.getenv("SAUCE_USERNAME")
       accessKey = System.getenv("SAUCE_ACCESS_KEY")
    }


}

test {

            //System.setProperty('geb.saucelabs.browser','browserName=firefox:LINUX:19')
            systemProperties "geb.build.reportsDir": "$reportsDir/geb"


        }

and I run the build with gradle chromeMacTest --info


Solution

  • An example of passing additional command line options to Sauce Connect is shown on the line marked with reference number 11 of the snippet at: http://www.gebish.org/manual/current/#geb-saucelabs-plugin