-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 01027fa
Showing
22 changed files
with
3,337 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
<classpath> | ||
<classpathentry output="target\scala-2.11\classes" kind="src" path="src\main\scala"/> | ||
<classpathentry output="target\scala-2.11\test-classes" kind="src" path="src\test\scala"/> | ||
<classpathentry kind="lib" path=".\lib\cafesat_2.11-0.01.jar"/> | ||
<classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\org.scalacheck\scalacheck_2.11\scalacheck_2.11-1.12.1.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\bundles\org.scala-lang.modules\scala-parser-combinators_2.11\scala-parser-combinators_2.11-1.0.2.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\org.scala-sbt\test-interface\test-interface-1.0.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\com.netflix.rxjava\rxjava-scala\rxjava-scala-0.15.0.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\com.netflix.rxjava\rxjava-core\rxjava-core-0.15.0.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\org.json4s\json4s-native_2.11\json4s-native_2.11-3.2.11.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\org.json4s\json4s-core_2.11\json4s-core_2.11-3.2.11.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\org.json4s\json4s-ast_2.11\json4s-ast_2.11-3.2.11.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\com.thoughtworks.paranamer\paranamer\paranamer-2.6.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\org.scala-lang\scalap\scalap-2.11.0.jar"/> | ||
<classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_COMPILER_CONTAINER"/> | ||
<classpathentry kind="lib" path=".\lib_managed\bundles\org.scala-lang.modules\scala-swing_2.11\scala-swing_2.11-1.0.1.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\net.databinder.dispatch\dispatch-core_2.11\dispatch-core_2.11-0.11.0.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\com.ning\async-http-client\async-http-client-1.7.16.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\bundles\io.netty\netty\netty-3.6.3.Final.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\org.slf4j\slf4j-api\slf4j-api-1.7.5.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\org.slf4j\slf4j-simple\slf4j-simple-1.7.5.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\com.squareup.retrofit\retrofit\retrofit-1.0.0.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\com.google.code.gson\gson\gson-2.2.3.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\bundles\org.scala-lang.modules\scala-async_2.11\scala-async_2.11-0.9.2.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\com.typesafe.akka\akka-actor_2.11\akka-actor_2.11-2.3.9.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\bundles\com.typesafe\config\config-1.2.1.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\com.typesafe.akka\akka-testkit_2.11\akka-testkit_2.11-2.3.9.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\com.storm-enroute\scalameter-core_2.11\scalameter-core_2.11-0.6.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\org.apache.commons\commons-math3\commons-math3-3.2.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\com.github.scala-blitz\scala-blitz_2.11\scala-blitz_2.11-1.1.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\bundles\org.scalatest\scalatest_2.11\scalatest_2.11-2.2.4.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\bundles\org.scala-lang.modules\scala-xml_2.11\scala-xml_2.11-1.0.2.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\junit\junit\junit-4.10.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\org.hamcrest\hamcrest-core\hamcrest-core-1.1.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\com.storm-enroute\scalameter_2.11\scalameter_2.11-0.6.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\com.github.wookietreiber\scala-chart_2.11\scala-chart_2.11-0.4.2.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\org.jfree\jfreechart\jfreechart-1.0.17.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\org.jfree\jcommon\jcommon-1.0.21.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\xml-apis\xml-apis\xml-apis-1.3.04.jar"/> | ||
<classpathentry kind="lib" path=".\lib_managed\jars\org.scala-tools.testing\test-interface\test-interface-0.5.jar"/> | ||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> | ||
<classpathentry kind="output" path="bin"/> | ||
</classpath> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<projectDescription> | ||
<name>progfun-objsets</name> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>org.scala-ide.sdt.core.scalabuilder</name> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>org.scala-ide.sdt.core.scalanature</nature> | ||
<nature>org.eclipse.jdt.core.javanature</nature> | ||
</natures> | ||
<linkedResources> </linkedResources> | ||
</projectDescription> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,218 @@ | ||
name <<= submitProjectName(pname => "progfun-"+ pname) | ||
|
||
version := "1.0.0" | ||
|
||
scalaVersion := "2.11.5" | ||
|
||
scalacOptions ++= Seq("-deprecation", "-feature") | ||
|
||
libraryDependencies += "org.scalatest" %% "scalatest" % "2.2.4" % "test" | ||
|
||
libraryDependencies += "junit" % "junit" % "4.10" % "test" | ||
|
||
// This setting defines the project to which a solution is submitted. When creating a | ||
// handout, the 'createHandout' task will make sure that its value is correct. | ||
submitProjectName := "objsets" | ||
|
||
libraryDependencies ++= { | ||
val c = currentProject.value | ||
if (c.isEmpty || c == "quickcheck") Seq( | ||
"org.scalacheck" %% "scalacheck" % "1.12.1" | ||
) | ||
else Seq.empty | ||
} | ||
|
||
libraryDependencies ++= { | ||
val c = currentProject.value | ||
if (c.isEmpty || c == "nodescala" || c == "suggestions") Seq( | ||
"com.netflix.rxjava" % "rxjava-scala" % "0.15.0", | ||
"org.json4s" %% "json4s-native" % "3.2.11", | ||
"org.scala-lang.modules" %% "scala-swing" % "1.0.1", | ||
"net.databinder.dispatch" %% "dispatch-core" % "0.11.0", | ||
"org.scala-lang" % "scala-reflect" % scalaVersion.value, | ||
"org.slf4j" % "slf4j-api" % "1.7.5", | ||
"org.slf4j" % "slf4j-simple" % "1.7.5", | ||
"com.squareup.retrofit" % "retrofit" % "1.0.0", | ||
"org.scala-lang.modules" %% "scala-async" % "0.9.2" | ||
) | ||
else Seq.empty | ||
} | ||
|
||
libraryDependencies ++= { | ||
val c = currentProject.value | ||
if (c.isEmpty || c == "actorbintree" || c == "kvstore") Seq( | ||
"com.typesafe.akka" %% "akka-actor" % "2.3.9", | ||
"com.typesafe.akka" %% "akka-testkit" % "2.3.9" | ||
) | ||
else Seq.empty | ||
} | ||
|
||
libraryDependencies ++= { | ||
val c = currentProject.value | ||
if (c.isEmpty || parProgProjects(c)) Seq( | ||
"com.storm-enroute" %% "scalameter-core" % "0.6", | ||
"com.github.scala-blitz" %% "scala-blitz" % "1.1", | ||
"com.storm-enroute" %% "scalameter" % "0.6" % "test" | ||
) | ||
else Seq.empty | ||
} | ||
|
||
fork := { | ||
val c = currentProject.value | ||
if (parProgProjects(c)) true | ||
else false | ||
} | ||
|
||
// See documentation in ProgFunBuild.scala | ||
projectDetailsMap := { | ||
val currentCourseId = "progfun-005" | ||
Map( | ||
"example" -> ProjectDetails( | ||
packageName = "example", | ||
assignmentPartId = "gTzFogNk", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.2, | ||
courseId=currentCourseId), | ||
"recfun" -> ProjectDetails( | ||
packageName = "recfun", | ||
assignmentPartId = "4Rarn9Ki", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.2, | ||
courseId=currentCourseId), | ||
"funsets" -> ProjectDetails( | ||
packageName = "funsets", | ||
assignmentPartId = "gBXOL7Rd", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.2, | ||
courseId=currentCourseId), | ||
"objsets" -> ProjectDetails( | ||
packageName = "objsets", | ||
assignmentPartId = "25dMMEz7", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.2, | ||
courseId=currentCourseId), | ||
"patmat" -> ProjectDetails( | ||
packageName = "patmat", | ||
assignmentPartId = "6gPmpcif", | ||
maxScore = 20d, | ||
styleScoreRatio = 0.2, | ||
courseId=currentCourseId), | ||
"forcomp" -> ProjectDetails( | ||
packageName = "forcomp", | ||
assignmentPartId = "gG3oZGIO", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.2, | ||
courseId=currentCourseId), | ||
"streams" -> ProjectDetails( | ||
packageName = "streams", | ||
assignmentPartId = "1WKgCFCi", | ||
maxScore = 20d, | ||
styleScoreRatio = 0.2, | ||
courseId=currentCourseId), | ||
"quickcheck" -> ProjectDetails( | ||
packageName = "quickcheck", | ||
assignmentPartId = "02Vi5q7m", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.0, | ||
courseId=currentCourseId), | ||
"simulations" -> ProjectDetails( | ||
packageName = "simulations", | ||
assignmentPartId = "pA3TAeu1", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.0, | ||
courseId=currentCourseId), | ||
"nodescala" -> ProjectDetails( | ||
packageName = "nodescala", | ||
assignmentPartId = "RvoTAbRy", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.0, | ||
courseId=currentCourseId), | ||
"suggestions" -> ProjectDetails( | ||
packageName = "suggestions", | ||
assignmentPartId = "rLLdQLGN", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.0, | ||
courseId=currentCourseId), | ||
"actorbintree" -> ProjectDetails( | ||
packageName = "actorbintree", | ||
assignmentPartId = "VxIlIKoW", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.0, | ||
courseId=currentCourseId), | ||
"kvstore" -> ProjectDetails( | ||
packageName = "kvstore", | ||
assignmentPartId = "nuvh59Zi", | ||
maxScore = 20d, | ||
styleScoreRatio = 0.0, | ||
courseId=currentCourseId), | ||
"constraints" -> ProjectDetails( | ||
packageName = "constraints", | ||
assignmentPartId = "kL1K2FAj", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.0, | ||
courseId=currentCourseId), | ||
"interpreter" -> ProjectDetails( | ||
packageName = "interpreter", | ||
assignmentPartId = "1SZhe1Ua283r87a7rd", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.0, | ||
courseId=currentCourseId), | ||
"scalashop" -> ProjectDetails( | ||
packageName = "scalashop", | ||
assignmentPartId = "TODO <-- we need to generate this one", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.0, | ||
courseId=currentCourseId), | ||
"reductions" -> ProjectDetails( | ||
packageName = "reductions", | ||
assignmentPartId = "TODO <-- we need to generate this one", | ||
maxScore = 10d, | ||
styleScoreRatio = 0.0, | ||
courseId=currentCourseId) | ||
)} | ||
|
||
// Files that we hand out to the students | ||
handoutFiles <<= (baseDirectory, projectDetailsMap, commonSourcePackages, parProgCommonSourcePackages) map { | ||
(basedir, detailsMap, commonSrcs, parProgCommonSrcs) => | ||
(projectName: String) => { | ||
val details = detailsMap.getOrElse(projectName, sys.error("Unknown project name: "+ projectName)) | ||
val commonFiles = (PathFinder.empty /: commonSrcs)((files, pkg) => | ||
files +++ (basedir / "src" / "main" / "scala" / pkg ** "*.scala") | ||
) | ||
val parProgCommonFiles = | ||
if (parProgProjects(projectName)) (PathFinder.empty /: parProgCommonSrcs)((files, pkg) => | ||
files +++ (basedir / "src" / "main" / "scala" / pkg ** "*.scala") | ||
) | ||
else PathFinder.empty | ||
|
||
(basedir / "src" / "main" / "scala" / details.packageName ** "*.scala") +++ | ||
commonFiles +++ | ||
parProgCommonFiles +++ | ||
(basedir / "src" / "main" / "resources" / details.packageName ** "*") +++ | ||
(basedir / "src" / "test" / "scala" / details.packageName ** "*.scala") +++ | ||
(basedir / "build.sbt") +++ | ||
(basedir / "project" / "build.properties") +++ | ||
(basedir / "project" ** ("*.scala" || "*.sbt")) +++ | ||
(basedir / "project" / "scalastyle_config.xml") +++ | ||
(basedir / "project" / "scalastyle_config_reactive.xml") +++ | ||
(basedir * (".classpath" || ".project")) +++ | ||
(basedir / ".settings" / "org.scala-ide.sdt.core.prefs") | ||
} | ||
} | ||
|
||
// This setting allows to restrict the source files that are compiled and tested | ||
// to one specific project. It should be either the empty string, in which case all | ||
// projects are included, or one of the project names from the projectDetailsMap. | ||
currentProject := "" | ||
|
||
// Packages in src/main/scala that are used in every project. Included in every | ||
// handout, submission. | ||
commonSourcePackages += "common" | ||
|
||
parProgCommonSourcePackages := Seq( | ||
"parprogcommon" | ||
) | ||
|
||
// Packages in src/test/scala that are used for grading projects. Always included | ||
// compiling tests, grading a project. | ||
gradingTestPackages += "grading" |
Binary file not shown.
Oops, something went wrong.