1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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:
1 2 3 4 5 6 | 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:
1 2 3 4 5 6 7 8 9 10 11 12 | 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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:
1 2 3 | 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:
1 2 3 4 5 6 | > 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