@@ -27,7 +27,7 @@ import java.io.File
2727import cats .implicits ._
2828import org .clapper .classutil .ClassFinder
2929import org .objectweb .asm .Opcodes
30- import org .scalaexercises .evaluator .types .Dependency
30+ import org .scalaexercises .evaluator .types .EvaluatorDependency
3131import org .scalaexercises .runtime .model ._
3232
3333import scala .util .Try
@@ -36,10 +36,10 @@ object Exercises {
3636 val LIBRARIES_PACKAGE = " org.scalaexercises.content"
3737
3838 private [this ] def classMap (cl : ClassLoader ) = {
39- val files = cl
39+ val files = ( cl
4040 .asInstanceOf [URLClassLoader ]
4141 .getURLs
42- .map(url => new File (url.getFile)) filter (_.exists)
42+ .map(url => new File (url.getFile)) filter (_.exists)).toSeq
4343 val classFinder = ClassFinder (files, Some (Opcodes .ASM7 ))
4444 val classes = classFinder.getClasses
4545 .filter(Try (_).isSuccess)
@@ -50,15 +50,15 @@ object Exercises {
5050 private [this ] def subclassesOf [A : ClassTag ](cl : ClassLoader ): List [String ] = {
5151 def loop (currentClassLoader : ClassLoader , acc : List [String ]): List [String ] =
5252 Option (currentClassLoader) match {
53- case None ⇒ acc
54- case Some (cll : URLClassLoader ) ⇒
53+ case None => acc
54+ case Some (cll : URLClassLoader ) =>
5555 val cn = ClassFinder
5656 .concreteSubclasses(implicitly[ClassTag [A ]].runtimeClass.getName, classMap(cll))
5757 .filter(_.name.startsWith(LIBRARIES_PACKAGE ))
5858 .map(_.name)
5959 .toList
6060 loop(currentClassLoader.getParent, acc ++ cn)
61- case Some (o) ⇒ loop(o.getParent, acc)
61+ case Some (o) => loop(o.getParent, acc)
6262 }
6363 loop(cl, Nil )
6464 }
@@ -67,21 +67,21 @@ object Exercises {
6767 cl : ClassLoader = classOf [Exercise ].getClassLoader): (List [String ], List [Library ]) = {
6868 val classNames : List [String ] = subclassesOf[Library ](cl)
6969
70- val errorsAndLibraries = classNames.map { name ⇒
70+ val errorsAndLibraries = classNames.map { name =>
7171 for {
72- loadedClass ← guard(Class .forName(name, true , cl), s " $name not found " )
73- loadedObject ← guard(
72+ loadedClass <- guard(Class .forName(name, true , cl), s " $name not found " )
73+ loadedObject <- guard(
7474 loadedClass.getField(" MODULE$" ).get(null ),
7575 s " $name must be defined as an object " )
76- loadedLibrary ← guard(loadedObject.asInstanceOf [Library ], s " $name must extend Library " )
76+ loadedLibrary <- guard(loadedObject.asInstanceOf [Library ], s " $name must extend Library " )
7777 } yield loadedLibrary
7878 }
7979
8080 errorsAndLibraries.separate
8181 }
8282
83- private def guard [A ](f : ⇒ A , message : ⇒ String ) =
84- Either .catchNonFatal(f).leftMap(_ ⇒ message)
83+ private def guard [A ](f : => A , message : => String ) =
84+ Either .catchNonFatal(f).leftMap(_ => message)
8585
8686 def buildEvaluatorRequest (
8787 pkg : String ,
@@ -90,18 +90,18 @@ object Exercises {
9090 imports : List [String ] = Nil ,
9191 resolvers : List [String ],
9292 libraryDependencies : List [String ]
93- ): (List [String ], List [Dependency ], String ) = {
93+ ): (List [String ], List [EvaluatorDependency ], String ) = {
9494
9595 val extractEvaluatorResolvers : List [String ] = {
96- resolvers.filter(r => ! r.isEmpty && r.contains(" http" )) map { resolver ⇒
96+ resolvers.filter(r => ! r.isEmpty && r.contains(" http" )) map { resolver =>
9797 resolver.substring(resolver.indexOf(" http" ))
9898 }
9999 }
100100
101- val extractEvaluatorDependencies : List [Dependency ] = {
102- libraryDependencies map { dep ⇒
101+ val extractEvaluatorDependencies : List [EvaluatorDependency ] = {
102+ libraryDependencies map { dep =>
103103 val depArray = dep.split(" :" )
104- Dependency (groupId = depArray(0 ), artifactId = depArray(1 ), version = depArray(2 ))
104+ EvaluatorDependency (groupId = depArray(0 ), artifactId = depArray(1 ), version = depArray(2 ))
105105 }
106106 }
107107
0 commit comments