blob: b45fd820997cdd9b8fa650f1e6ded9653759e696 [file] [log] [blame]
apply plugin: 'java'
import org.gradle.internal.os.OperatingSystem
repositories {
mavenCentral()
}
configurations {
antClasspath
}
def test_jvm = {
if (OperatingSystem.current().isMacOsX()) {
file('../../build/macosx-x86_64-normal-server-release/images/j2sdk-bundle/jdk1.8.0.jdk/Contents/Home/bin/java').absolutePath
} else if (OperatingSystem.current().isLinux()) {
file('../../build/linux-x86_64-normal-server-release/images/j2sdk-image/bin/java').absolutePath
} else {
file('../../build/windows-x86_64-normal-server-release/images/j2sdk-image/bin/java.exe').absolutePath
}
}
dependencies {
antClasspath 'ant-contrib:ant-contrib:20020829', 'org.apache.ant:ant-junit:1.8.1'
testCompile('junit:junit:4.12'){
exclude group: 'org.hamcrest'
}
testCompile 'org.hamcrest:hamcrest-library:1.3'
}
// add additional jars to the AntBuilder classpath for use within the imported build.
ClassLoader antClassLoader = org.apache.tools.ant.Project.class.classLoader
configurations.antClasspath.each { File f ->
antClassLoader.addURL(f.toURI().toURL())
}
ant.importBuild('../../jdk/idea/java/tests/perf_tests.xml') { antTargetName ->
'jdk-perf-' + antTargetName
}
ant.properties.test_jvm = test_jvm()
println ant.properties.test_jvm
if (OperatingSystem.current().isMacOsX())
sourceSets.main.java.srcDirs =
["../../jdk/src/share/classes",
"../../jdk/src/macosx/classes",
]
else if (OperatingSystem.current().isLinux())
sourceSets.main.java.srcDirs =
["../../jdk/src/share/classes",
"../../jdk/src/solaris/classes"
]
else
sourceSets.main.java.srcDirs =
["../../jdk/src/share/classes",
"../../jdk/src/windows/classes",
]
sourceSets.test.java.srcDirs = ["../../jdk/idea/java/tests/src"]
def buildDir = project.buildscript.sourceFile.parentFile.parentFile.parentFile
def make_cmd = "make"
if (OperatingSystem.current().isWindows()) {
def cyg_make_cmd = new File("c:/cygwin64/bin/make.exe")
if (cyg_make_cmd.exists()) make_cmd = cyg_make_cmd.absolutePath
}
task make_images << {
def pb = new ProcessBuilder().command(make_cmd.toString(), "-C", buildDir.absolutePath,
" COMPILER_WARNINGS_FATAL=false", "images")
def proc = pb.redirectErrorStream(true).start()
proc.inputStream.eachLine {println it}
assert proc.waitFor() == 0
}
task make_clean << {
def pb = new ProcessBuilder().command(make_cmd.toString(), "-C", buildDir.absolutePath,
" COMPILER_WARNINGS_FATAL=false", "clean")
def proc = pb.redirectErrorStream(true).start()
proc.inputStream.eachLine {println it}
assert proc.waitFor() == 0
}
tasks.compileJava.enabled = false
tasks.compileTestJava.dependsOn.clear()
classes.dependsOn.clear()
classes.dependsOn tasks.make_images, tasks.compileTestJava
tasks.cleanClasses.dependsOn tasks.make_clean