mirror of https://github.com/sbt/sbt.git
Merge pull request #143 from eed3si9n/wip/formatsfix
Implement better fake formats than ???
This commit is contained in:
commit
32bf842a5a
|
|
@ -2,7 +2,24 @@ package sbt.internal.librarymanagement.formats
|
|||
|
||||
import sjsonnew._
|
||||
import xsbti._
|
||||
import java.io.File
|
||||
import java.util.concurrent.Callable
|
||||
|
||||
/**
|
||||
* A fake JsonFormat for xsbti.GlobalLock.
|
||||
* This is mostly for making IvyConfiguration serializable to JSON.
|
||||
*/
|
||||
trait GlobalLockFormat { self: BasicJsonProtocol =>
|
||||
implicit lazy val GlobalLockFormat: JsonFormat[GlobalLock] = ???
|
||||
import GlobalLockFormats._
|
||||
|
||||
implicit lazy val globalLockIsoString: IsoString[GlobalLock] =
|
||||
IsoString.iso(_ => "<lock>", _ => NoGlobalLock)
|
||||
|
||||
implicit lazy val GlobalLockFormat: JsonFormat[GlobalLock] = implicitly
|
||||
}
|
||||
|
||||
private[sbt] object GlobalLockFormats {
|
||||
object NoGlobalLock extends GlobalLock {
|
||||
def apply[T](lockFile: File, run: Callable[T]) = run.call()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,15 @@ package sbt.internal.librarymanagement.formats
|
|||
|
||||
import sjsonnew._
|
||||
import xsbti._
|
||||
import sbt.util.Logger.Null
|
||||
|
||||
/**
|
||||
* A fake JsonFormat for xsbti.Logger.
|
||||
* This is mostly for making IvyConfiguration serializable to JSON.
|
||||
*/
|
||||
trait LoggerFormat { self: BasicJsonProtocol =>
|
||||
implicit lazy val LoggerFormat: JsonFormat[Logger] = ???
|
||||
implicit lazy val xsbtiLoggerIsoString: IsoString[Logger] =
|
||||
IsoString.iso(_ => "<logger>", _ => Null)
|
||||
|
||||
implicit lazy val LoggerFormat: JsonFormat[Logger] = implicitly
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue