Eclipse argument variable problem

(federicolenzi) #1

My build.gradle looks like following:

apply plugin: 'eclipse'
apply plugin: 'java'
  springVersion = "3.0.6.RELEASE"
  //For the dependency update uncomment the following two lines
 //env =
 //cookie =
    repositories {
  dependencies {
    compile fileTree(dir: 'lib', include: '*.jar')
    testCompile "org.springframework:spring-beans:$springVersion",
  test {
          systemProperty "environment", "$env"
         systemProperty "cookieName", "$cookie"
        ignoreFailures = true
  task secondTry(type:Test){
     dependsOn test
     testReportDir = file("build/reports/tests/secondTry")
  task allTests(dependsOn: tasks.withType(Test))
  task wrapper(type: Wrapper) {
 gradleVersion = '1.0-milestone-8'

To run the testng scritps in bash I execute:

gradle clean allTests -Penv=value1 -Pcookie=value2

And works fine. The problem is when inside eclipse I put the “Refresh all” to refresh the dependences, gives me the error: Could not find property ‘env’ on task ‘:test’.

The solution is to define the two variables empty

env =
 cookie =

But the problem with this, is when I run in console. The value I pass does’t override the empty value.

So I have that problem, I need to comment when I run in bash, but uncomment when I use gradle in eclipse.

(Peter Niederwieser) #2

You can either set defaults for ‘env’ and ‘cookie’, or only pass them on if they exist:

test {
     if (project.hasProperty("env") {
        systemProperty "environment", env
    if (project.hasProperty("cookie") {
        systemProperty "cookieName", cookie

(federicolenzi) #3

Thanks Peter!