blob: 466446b0bb92ee030fe8fe3eeaf6d008fe75feb3 [file] [log] [blame]
/*
* Copyright 2000-2012 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.
*/
import static org.jetbrains.jps.idea.IdeaProjectLoader.guessHome
includeTargets << new File("${guessHome(this)}/build/scripts/utils.gant")
includeTargets << new File("${guessHome(this)}/build/scripts/cucumber-tests.gant")
requireProperty("out", "$home/out")
target(compile: "Compile project") {
ant.delete(failonerror: false) {
fileset(dir: "$home/reports")
fileset(dir: "$home/bin", includes: "*.hprof")
}
loadProject()
projectBuilder.useInProcessJavac = true
projectBuilder.targetFolder = out
projectBuilder.cleanOutput()
projectBuilder.buildAll()
}
private pass(String prop) {
if (isDefined(prop)) {
ant.jvmarg(value: "-D$prop=${p(prop)}")
}
}
target('run_tests': 'Run java tests') {
depends([compile])
ant.junit(fork: "yes", showoutput: "true", logfailedtests:false) {
pass("idea.test.group")
pass("idea.test.patterns")
pass("idea.fast.only")
pass("teamcity.build.tempDir")
pass("teamcity.tests.recentlyFailedTests.file")
jvmarg (value: "-Didea.platform.prefix=Idea")
jvmarg (value: "-Djava.system.class.loader=com.intellij.util.lang.UrlClassLoader")
System.getProperties().entrySet().each {
if (it.key.startsWith("pass.")) {
def trimmed = it.key.substring("pass.".length());
jvmarg(value: "-D${trimmed}=${it.value}");
};
}
commonJvmArgs().each { jvmarg(value: it) }
if (isDefined("jvm_args")) {
jvm_args.each { jvmarg(value: it) }
}
classpath {
projectBuilder.moduleRuntimeClasspath(findModule("community-main"), true).each {
pathelement(location: it)
}
pathelement(location: "${jdkHome}/lib/tools.jar")
}
testcases.each {
test (name: it)
}
}
}
target('default' : "Run all tests") {
depends([compile, run_tests, run_cucumber_tests])
}