D:\samplescala>sbt D:\samplescala>set SCRIPT_DIR=C:\util\sbt\ D:\samplescala>java -Dfile.encoding=UTF8 -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256m -jar "C:\util\sbt\sbt -launch.jar" Getting net.java.dev.jna jna 3.2.3 ... :: retrieving :: org.scala-tools.sbt#boot-app confs: [default] 1 artifacts copied, 0 already retrieved (838kB/46ms) Getting Scala 2.8.1 (for sbt)... :: retrieving :: org.scala-tools.sbt#boot-scala confs: [default] 3 artifacts copied, 0 already retrieved (15178kB/235ms) Getting org.scala-tools.sbt sbt_2.8.1 0.10.1 ... :: retrieving :: org.scala-tools.sbt#boot-app confs: [default] 36 artifacts copied, 0 already retrieved (6414kB/965ms) [info] Set current project to default-097978 (in build file:/D:/samplescala/)
The following folders will show up under the root folder:
Create the default source/test/resource structure:
mkdir src\main\resources mkdir src\main\scala mkdir src\main\java mkdir src\test\resources mkdir src\test\scala mkdir src\test\java
Create a build configuration file build.sbt, and place it in the root of the project with the following content:
name:="samplescala" version:="1.0" scalaVersion := "2.9.0-1" libraryDependencies ++= Seq( "junit" % "junit" % "4.8" % "test", "org.scalatest" % "scalatest_2.9.0" % "1.6.1" ) defaultExcludes ~= (filter => filter || "*~")
Add, one sample test in the file src\test\scala\gcdtests.scala, just to test out the sbt configuration:
package com.sample object Gcd{ def gcd(a:Int, b:Int):Int = if (b==0) a else gcd(b, a%b) } import org.scalatest.FlatSpec import org.scalatest.matchers.ShouldMatchers class GcdTests extends FlatSpec with ShouldMatchers{ "GCD of 1440, 408" should "be 24" in { Gcd.gcd(1440, 408) should equal (24) } }
Invoke sbt, and run test, if everything is configured correctly the following output will be displayed:
D:\samplescala>sbt D:\samplescala>set SCRIPT_DIR=C:\util\sbt\ D:\samplescala>java -Dfile.encoding=UTF8 -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256m -jar "C:\util\sbt\sbt -launch.jar" [info] Set current project to default-097978 (in build file:/D:/samplescala/) > test [info] Updating {file:/D:/samplescala/}default-097978... [info] Done updating. [info] GcdTests: [info] GCD of 1440, 408 [info] - should be 24 [info] Passed: : Total 1, Failed 0, Errors 0, Passed 1, Skipped 0 [success] Total time: 1 s, completed Sep 10, 2011 7:00:28 PM
Now, to import this project into eclipse. Create a build.sbt file with the following contents and place in the project/plugins folder:
libraryDependencies <+= (libraryDependencies, sbtVersion) { (deps, version) => "de.element34" %% "sbt-eclipsify" % "0.10.0-SNAPSHOT" }
Restart sbt, if the plugin is configured correctly, eclipse will be a valid task in sbt, running this will create the .project and .classpath files for Eclipse:
> eclipse [info] Starting eclipse [info] written .project for samplescala [info] written .classpath for samplescala [info] * Don't forget to install the Scala IDE Plugin from http://www.scalaide.org/ [info] You may now import your projects in Eclipse
Assuming that Scala IDE for Eclipse is installed, import this new project into Eclipse:
No comments:
Post a Comment