Skip to content

Commit

Permalink
Original import
Browse files Browse the repository at this point in the history
  • Loading branch information
PattonMao committed Nov 6, 2015
0 parents commit 01027fa
Show file tree
Hide file tree
Showing 22 changed files with 3,337 additions and 0 deletions.
44 changes: 44 additions & 0 deletions .classpath
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>
13 changes: 13 additions & 0 deletions .project
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>
218 changes: 218 additions & 0 deletions build.sbt
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 added lib/cafesat_2.11-0.01.jar
Binary file not shown.
Loading

0 comments on commit 01027fa

Please sign in to comment.