| /* |
| * Copyright 2000-2013 JetBrains s.r.o. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| target('run_cucumber_tests': "Run cucumber tests") { |
| if (!isDefined("cucumber_test_dirs")) { |
| return |
| } |
| |
| cucumber_test_dirs.each { |
| def m = findModule(it[0]) |
| def platformPrefix = it[1] |
| def testsDir = it[2] |
| def stepDefsPackage = it[3] |
| |
| |
| ant.java(failonerror: "true", classname: "com.intellij.cucumber.CucumberMain", fork: "true", dir: testsDir) { |
| jvmarg(line: "-Xmx512m") |
| jvmarg(line: "-XX:MaxPermSize=350m") |
| jvmarg(line: "-XX:+HeapDumpOnOutOfMemoryError") |
| jvmarg(line: "-ea") |
| jvmarg(line: "-Didea.platform.prefix=$platformPrefix") |
| |
| System.getProperties().entrySet().each { |
| if (it.key.startsWith("pass.")) { |
| def trimmed = it.key.substring("pass.".length()); |
| jvmarg(value: "-D${trimmed}=${it.value}"); |
| }; |
| } |
| |
| arg(value: "--format") |
| arg(value: "org.jetbrains.plugins.cucumber.java.run.CucumberJvmSMFormatter") |
| arg(value: "--glue") |
| arg(value: stepDefsPackage) |
| arg(value: ".") |
| |
| classpath() { |
| projectBuilder.moduleRuntimeClasspath(findModule("cucumber-test-runner"), false).each { |
| pathelement(location: it) |
| } |
| projectBuilder.moduleRuntimeClasspath(m, true).each { |
| pathelement(location: it) |
| } |
| } |
| } |
| |
| } |
| |
| } |