diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-08-13 01:39:41 +0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-08-13 01:39:41 +0800 |
commit | d34f0506bdc4fef2bcca82a70e67aa15aad75cb9 (patch) | |
tree | 589d2b54cf770f5af3f7c59960fef403bdd35299 | |
parent | 9013f6c93af3dfa3ccfe2a52b84888460ad47ad6 (diff) | |
download | cask-d34f0506bdc4fef2bcca82a70e67aa15aad75cb9.tar.gz cask-d34f0506bdc4fef2bcca82a70e67aa15aad75cb9.tar.bz2 cask-d34f0506bdc4fef2bcca82a70e67aa15aad75cb9.zip |
trim unnecessary dependencies
-rw-r--r-- | build.sc | 3 | ||||
-rw-r--r-- | cask/src/cask/internal/Util.scala | 32 | ||||
-rw-r--r-- | cask/src/cask/main/ErrorMsgs.scala | 3 | ||||
-rw-r--r-- | example/todo/build.sc | 3 |
4 files changed, 35 insertions, 6 deletions
@@ -26,9 +26,6 @@ object cask extends ScalaModule{ ivy"org.scala-lang:scala-reflect:${scalaVersion()}", ivy"io.undertow:undertow-core:2.0.11.Final", ivy"com.lihaoyi::upickle:0.6.6", - ivy"com.lihaoyi::scalatags:0.6.7", - ivy"com.lihaoyi::fastparse:1.0.0", - ivy"com.lihaoyi::pprint:0.5.3", ) def compileIvyDeps = Agg(ivy"com.lihaoyi::acyclic:0.1.7") def scalacOptions = Seq("-P:acyclic:force") diff --git a/cask/src/cask/internal/Util.scala b/cask/src/cask/internal/Util.scala index b4f33a8..7da343e 100644 --- a/cask/src/cask/internal/Util.scala +++ b/cask/src/cask/internal/Util.scala @@ -6,7 +6,39 @@ import scala.collection.generic.CanBuildFrom import scala.collection.mutable import java.io.OutputStream +import scala.annotation.switch + object Util { + + /** + * Convert a string to a C&P-able literal. Basically + * copied verbatim from the uPickle source code. + */ + def literalize(s: IndexedSeq[Char], unicode: Boolean = true) = { + val sb = new StringBuilder + sb.append('"') + var i = 0 + val len = s.length + while (i < len) { + (s(i): @switch) match { + case '"' => sb.append("\\\"") + case '\\' => sb.append("\\\\") + case '\b' => sb.append("\\b") + case '\f' => sb.append("\\f") + case '\n' => sb.append("\\n") + case '\r' => sb.append("\\r") + case '\t' => sb.append("\\t") + case c => + if (c < ' ' || (c > '~' && unicode)) sb.append("\\u%04x" format c.toInt) + else sb.append(c) + } + i += 1 + } + sb.append('"') + + sb.result() + } + def transferTo(in: InputStream, out: OutputStream) = { val buffer = new Array[Byte](8192) diff --git a/cask/src/cask/main/ErrorMsgs.scala b/cask/src/cask/main/ErrorMsgs.scala index f5d9cc7..c296504 100644 --- a/cask/src/cask/main/ErrorMsgs.scala +++ b/cask/src/cask/main/ErrorMsgs.scala @@ -1,9 +1,8 @@ package cask.main -import java.io.{PrintWriter, StringWriter} import cask.internal.{Router, Util} -import fastparse.utils.Utils.literalize +import cask.internal.Util.literalize object ErrorMsgs { diff --git a/example/todo/build.sc b/example/todo/build.sc index 77a4dee..7f547d5 100644 --- a/example/todo/build.sc +++ b/example/todo/build.sc @@ -6,7 +6,8 @@ trait AppModule extends ScalaModule{ def ivyDeps = Agg( ivy"com.lihaoyi::cask:0.0.1", ivy"org.xerial:sqlite-jdbc:3.18.0", - ivy"io.getquill::quill-jdbc:2.5.4" + ivy"io.getquill::quill-jdbc:2.5.4", + ivy"com.lihaoyi::scalatags:0.6.7", ) object test extends Tests{ |