我在一个项目上工作,我想让每个开发人员都可以选择使用 ammonite。
所以我必须分享initialCommands
以避免重复。
这是我目前的解决方案。
val initCommands = s""" val sc = new org.apache.spark.SparkContext("local", "shell"); val sqlContext = new org.apache.spark.sql.SQLContext(sc); import sqlContext.implicits._; import org.apache.spark.sql.functions._ """
val escaped = initCommands.replace("\"", "\\\"")
initialCommands in console := initCommands
initialCommands in (Test, console) := s"""ammonite.Main(predef = "$escaped").run()"""
第一个问题是initCommands
必须在一条线上。
有没有更好的办法 ?