Fixed dependencies.

This commit is contained in:
Adam Murdoch
2012-08-10 07:33:24 +10:00
parent 243bd5514c
commit 3c9720f9ab

View File

@@ -1,70 +1,69 @@
apply plugin: 'java' apply plugin: 'java'
apply plugin: 'groovy' apply plugin: 'groovy'
apply plugin: 'cpp-lib' apply plugin: 'cpp-lib'
apply plugin: 'idea' apply plugin: 'idea'
apply plugin: 'application' apply plugin: 'application'
repositories { repositories {
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
groovy 'org.codehaus.groovy:groovy:1.8.7' groovy 'org.codehaus.groovy:groovy:1.8.7'
testCompile 'org.spockframework:spock-core:0.6-groovy-1.8' testCompile 'org.spockframework:spock-core:0.6-groovy-1.8'
} }
mainClassName = 'net.rubygrapefruit.platform.Main' mainClassName = 'net.rubygrapefruit.platform.Main'
def nativeHeadersDir = file("$buildDir/nativeHeaders") def nativeHeadersDir = file("$buildDir/nativeHeaders")
sourceCompatibility = 1.5 sourceCompatibility = 1.5
targetCompatibility = 1.5 targetCompatibility = 1.5
println org.gradle.internal.jvm.Jvm.current().javaHome configurations.compile.extendsFrom = []
println org.gradle.internal.jvm.Jvm.current().toolsJar
libraries {
libraries { main {
main { spec {
spec { includes([nativeHeadersDir])
includes([nativeHeadersDir]) if (org.gradle.internal.os.OperatingSystem.current().macOsX) {
if (org.gradle.internal.os.OperatingSystem.current().macOsX) { includes(['/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/'])
includes(['/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/']) args("-lcurses")
args("-lcurses") } else if (org.gradle.internal.os.OperatingSystem.current().windows) {
} else if (org.gradle.internal.os.OperatingSystem.current().windows) { includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include"])
includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include"]) includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include/win32"])
includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include/win32"]) args("/DWIN32")
args("/DWIN32") } else if (org.gradle.internal.os.OperatingSystem.current().linux) {
} else if (org.gradle.internal.os.OperatingSystem.current().linux) { includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include"])
includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include"]) includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include/linux"])
includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include/linux"]) args("-lcurses")
args("-lcurses") } else {
} else { includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include"])
includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include"]) includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include/solaris"])
includes(["${org.gradle.internal.jvm.Jvm.current().javaHome}/include/solaris"]) args("-DSOLARIS", "-lcurses")
args("-DSOLARIS", "-lcurses") }
} }
} }
} }
}
task nativeHeaders {
task nativeHeaders { def outputFile = file("$nativeHeadersDir/native.h")
def outputFile = file("$nativeHeadersDir/native.h") inputs.files sourceSets.main.output
inputs.files sourceSets.main.output outputs.file outputFile
outputs.file outputFile doLast {
doLast { outputFile.parentFile.mkdirs()
outputFile.parentFile.mkdirs() exec {
exec { executable org.gradle.internal.jvm.Jvm.current().getExecutable('javah')
executable org.gradle.internal.jvm.Jvm.current().getExecutable('javah') args '-o', outputFile
args '-o', outputFile args '-classpath', sourceSets.main.output.classesDir
args '-classpath', sourceSets.main.output.classesDir args 'net.rubygrapefruit.platform.internal.jni.NativeLibraryFunctions'
args 'net.rubygrapefruit.platform.internal.jni.NativeLibraryFunctions' args 'net.rubygrapefruit.platform.internal.jni.PosixFileFunctions'
args 'net.rubygrapefruit.platform.internal.jni.PosixFileFunctions' args 'net.rubygrapefruit.platform.internal.jni.PosixProcessFunctions'
args 'net.rubygrapefruit.platform.internal.jni.PosixProcessFunctions' args 'net.rubygrapefruit.platform.internal.jni.PosixTerminalFunctions'
args 'net.rubygrapefruit.platform.internal.jni.PosixTerminalFunctions' args 'net.rubygrapefruit.platform.internal.jni.TerminfoFunctions'
args 'net.rubygrapefruit.platform.internal.jni.TerminfoFunctions' args 'net.rubygrapefruit.platform.internal.jni.WindowsConsoleFunctions'
args 'net.rubygrapefruit.platform.internal.jni.WindowsConsoleFunctions' }
} }
} }
}
compileMain.dependsOn nativeHeaders
compileMain.dependsOn nativeHeaders test.dependsOn compileMain
test.dependsOn compileMain