diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..29278e1 --- /dev/null +++ b/build.gradle @@ -0,0 +1,73 @@ +apply plugin: 'java' +apply plugin: 'scala' +apply plugin: 'maven' +apply plugin: 'signing' +apply plugin: 'eclipse' +apply plugin: 'idea' + + group = '$organization$' + version = '$version$' + +ext { + //Change this with your scalafx executable file path + mainClass = "$package$.HelloScalaFX" + + scalaVersion = '2.9.3' + scalaGroup = 'org.scala-lang' +} + + repositories { + mavenCentral() +} + + +final javafxHome = System.env['JAVAFX_HOME'] + if (javafxHome) { + ext.javafxJar = "${javafxHome}/rt/lib/jfxrt.jar" + if ( !new File( ext.javafxJar ).exists() ) { + ext.javafxJar = "${javafxHome}/jre/lib/jfxrt.jar" + } + } else { +final javaHome = System.env['JAVA_HOME'] + if (javaHome) + ext.javafxJar = "${javaHome}/jre/lib/jfxrt.jar" + } + + try { + println "${project.name} - DEBUG: JavaFX runtime jar: ${ext.javafxJar}" + dependencies { + runtime files(ext.javafxJar) + } + } catch (MissingPropertyException mpe) { + println """ + | Please set the environment variable JAVAFX_HOME + | to the directory that contains rt/lib/jfxrt.jar + | or e.g set JAVAFX_HOME to the /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk/Contents/Home + | otherwise the current JAVA_HOME will be used + | with the JavaFX version ${scalafx_requiredJavaFxVersion}.\n""".stripMargin() + System.exit 1 + } + + +dependencies { + scalaTools "${scalaGroup}:scala-compiler:${scalaVersion}" + scalaTools "${scalaGroup}:scala-library:${scalaVersion}" + + // Libraries needed for scala api + compile "${scalaGroup}:scala-library:${scalaVersion}" + + // We need the JavaFX APIs + compile files(ext.javafxJar) + + compile "org.scalafx:scalafx_2.9.2:1.0.0-M2" + + testCompile 'junit:junit:4.10' + testCompile 'org.scalatest:scalatest_2.9.1:1.9.1' +} + +task(run, dependsOn: 'classes', type: JavaExec, + description:"Runs the ScalaFX file.") { + main = mainClass + classpath = sourceSets.main.runtimeClasspath +} +