mirror of https://github.com/sbt/sbt.git
Implement better fake formats than ???
Fixes sbt/librarymanagement#67 Fixes sbt/sbt#3288
This commit is contained in:
parent
bf733e782b
commit
93c06d29b1
|
|
@ -2,7 +2,24 @@ package sbt.internal.librarymanagement.formats
|
||||||
|
|
||||||
import sjsonnew._
|
import sjsonnew._
|
||||||
import xsbti._
|
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 =>
|
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 sjsonnew._
|
||||||
import xsbti._
|
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 =>
|
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