@@ -342,27 +342,34 @@ class ReplDriver(settings: Array[String],
342342 case parsed : Parsed if parsed.source.content().mkString.startsWith(" //>" ) =>
343343 // Check for magic comments specifying dependencies
344344 val sourceCode = parsed.source.content().mkString
345- val depStrings = DependencyResolver .extractDependencies(sourceCode)
345+ println(" Please using `:dep com.example::artifact:version` to add dependencies in the REPL" )
346+ state
346347
348+ case parsed : Parsed if parsed.source.content().mkString.startsWith(" :dep " ) =>
349+ // Check for magic command specifying dependencies
350+ val sourceCode = parsed.source.content().mkString
351+ val depStrings = Seq (parsed.source.content().mkString.drop(" :dep" ))
352+ resolveDepStrings(depStrings)
347353 if depStrings.nonEmpty then
348- val deps = depStrings.flatMap(DependencyResolver .parseDependency)
349- if deps.nonEmpty then
350- DependencyResolver .resolveDependencies(deps) match
351- case Right (files) =>
352- if files.nonEmpty then
353- inContext(state.context):
354- // Update both compiler classpath and classloader
355- val prevOutputDir = ctx.settings.outputDir.value
356- val prevClassLoader = rendering.classLoader()
357- rendering.myClassLoader = DependencyResolver .addToCompilerClasspath(
358- files,
359- prevClassLoader,
360- prevOutputDir
361- )
362- out.println(s " Resolved ${deps.size} dependencies ( ${files.size} JARs) " )
363- case Left (error) =>
364- out.println(s " Error resolving dependencies: $error" )
365- state
354+ val deps = depStrings.flatMap(DependencyResolver .parseDependency)
355+ if deps.nonEmpty then
356+ DependencyResolver .resolveDependencies(deps) match
357+ case Right (files) =>
358+ if files.nonEmpty then
359+ inContext(state.context):
360+ // Update both compiler classpath and classloader
361+ val prevOutputDir = ctx.settings.outputDir.value
362+ val prevClassLoader = rendering.classLoader()
363+ rendering.myClassLoader = DependencyResolver .addToCompilerClasspath(
364+ files,
365+ prevClassLoader,
366+ prevOutputDir
367+ )
368+ out.println(s " Resolved ${deps.size} dependencies ( ${files.size} JARs) " )
369+ case Left (error) =>
370+ out.println(s " Error resolving dependencies: $error" )
371+ state
372+
366373
367374 case parsed : Parsed if parsed.trees.nonEmpty =>
368375 compile(parsed, state)
0 commit comments