mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-03-13 19:37:30 +01:00
* Add logging to data directory In this commit we add the ability for the node, chain and wallet projects (+ the server) to log to the users data directory instead of whatever directory the binaries was launched from. This is inherently a bit more complicated than our previous setup, because we need to read the user directory before we can create loggers. As a result of this, some files/methods were moved around, so the relevant app config could be found in scope. We also introduce several logging categories that can be tuned individually through user configuration. These logggers are exposed both as traits that give a field `logger`, or as methods that return the required logger. * Add datadir configuration to AppConfig In this commit we add support for AppConfig to pick up the data directory configuration file. We also add a section to the contributing guide on how to tune logging levels. * Pass data directories explicitly for configuration
232 lines
6.1 KiB
Scala
232 lines
6.1 KiB
Scala
import sbt._
|
|
|
|
object Deps {
|
|
|
|
object V {
|
|
val bouncyCastle = "1.55"
|
|
val logback = "1.2.3"
|
|
val scalacheck = "1.14.0"
|
|
val scalaTest = "3.0.8"
|
|
val slf4j = "1.7.26"
|
|
val spray = "1.3.4"
|
|
val zeromq = "0.5.1"
|
|
val akkav = "10.1.9"
|
|
val akkaStreamv = "2.5.23"
|
|
val playv = "2.7.4"
|
|
val scodecV = "1.1.12"
|
|
val junitV = "0.11"
|
|
val nativeLoaderV = "2.3.4"
|
|
val typesafeConfigV = "1.3.4"
|
|
val ammoniteV = "1.6.7"
|
|
|
|
val asyncV = "0.9.7"
|
|
val postgresV = "9.4.1210"
|
|
val akkaActorV = akkaStreamv
|
|
val slickV = "3.3.2"
|
|
val sqliteV = "3.28.0"
|
|
val scalameterV = "0.17"
|
|
|
|
// Wallet/node/chain server deps
|
|
val uPickleV = "0.7.4"
|
|
val akkaHttpUpickleV = "1.27.0"
|
|
val uJsonV = uPickleV // Li Haoyi ecosystem does common versioning
|
|
val sourcecodeV = "0.1.7"
|
|
|
|
// CLI deps
|
|
val scoptV = "4.0.0-RC2"
|
|
val sttpV = "1.6.0"
|
|
}
|
|
|
|
object Compile {
|
|
val bouncycastle = "org.bouncycastle" % "bcprov-jdk15on" % V.bouncyCastle withSources () withJavadoc ()
|
|
val scodec = "org.scodec" %% "scodec-bits" % V.scodecV withSources () withJavadoc ()
|
|
val slf4j = "org.slf4j" % "slf4j-api" % V.slf4j % "provided" withSources () withJavadoc ()
|
|
val zeromq = "org.zeromq" % "jeromq" % V.zeromq withSources () withJavadoc ()
|
|
val akkaHttp = "com.typesafe.akka" %% "akka-http" % V.akkav withSources () withJavadoc ()
|
|
val akkaStream = "com.typesafe.akka" %% "akka-stream" % V.akkaStreamv withSources () withJavadoc ()
|
|
val akkaActor = "com.typesafe.akka" %% "akka-actor" % V.akkaStreamv withSources () withJavadoc ()
|
|
|
|
val playJson = "com.typesafe.play" %% "play-json" % V.playv withSources () withJavadoc ()
|
|
val typesafeConfig = "com.typesafe" % "config" % V.typesafeConfigV withSources () withJavadoc ()
|
|
|
|
val logback = "ch.qos.logback" % "logback-classic" % V.logback withSources () withJavadoc ()
|
|
|
|
//for loading secp256k1 natively
|
|
val nativeLoader = "org.scijava" % "native-lib-loader" % V.nativeLoaderV withSources () withJavadoc ()
|
|
val ammonite = "com.lihaoyi" %% "ammonite" % V.ammoniteV cross CrossVersion.full
|
|
|
|
//node deps
|
|
val slick = "com.typesafe.slick" %% "slick" % V.slickV withSources () withJavadoc ()
|
|
val slickHikari = "com.typesafe.slick" %% "slick-hikaricp" % V.slickV
|
|
val sqlite = "org.xerial" % "sqlite-jdbc" % V.sqliteV
|
|
val postgres = "org.postgresql" % "postgresql" % V.postgresV
|
|
val uJson = "com.lihaoyi" %% "ujson" % V.uJsonV
|
|
|
|
// serializing to and from JSON
|
|
val uPickle = "com.lihaoyi" %% "upickle" % V.uPickleV
|
|
|
|
// get access to reflection data at compile-time
|
|
val sourcecode = "com.lihaoyi" %% "sourcecode" % V.sourcecodeV
|
|
|
|
// make akka-http play nice with upickle
|
|
val akkaHttpUpickle = "de.heikoseeberger" %% "akka-http-upickle" % V.akkaHttpUpickleV
|
|
|
|
// parsing of CLI opts and args
|
|
val scopt = "com.github.scopt" %% "scopt" % V.scoptV
|
|
|
|
// HTTP client lib
|
|
val sttp = "com.softwaremill.sttp" %% "core" % V.sttpV
|
|
|
|
val scalacheck = "org.scalacheck" %% "scalacheck" % V.scalacheck withSources () withJavadoc ()
|
|
val scalaTest = "org.scalatest" %% "scalatest" % V.scalaTest withSources () withJavadoc ()
|
|
}
|
|
|
|
object Test {
|
|
val async = "org.scala-lang.modules" %% "scala-async" % V.asyncV % "test" withSources () withJavadoc ()
|
|
val junitInterface = "com.novocode" % "junit-interface" % V.junitV % "test" withSources () withJavadoc ()
|
|
val logback = Compile.logback % "test"
|
|
val scalacheck = Compile.scalacheck % "test"
|
|
val scalaTest = Compile.scalaTest % "test"
|
|
val spray = "io.spray" %% "spray-json" % V.spray % "test" withSources () withJavadoc ()
|
|
val akkaHttp = "com.typesafe.akka" %% "akka-http-testkit" % V.akkav % "test" withSources () withJavadoc ()
|
|
val akkaStream = "com.typesafe.akka" %% "akka-stream-testkit" % V.akkaStreamv % "test" withSources () withJavadoc ()
|
|
val playJson = Compile.playJson % "test"
|
|
val akkaTestkit = "com.typesafe.akka" %% "akka-testkit" % V.akkaActorV withSources () withJavadoc ()
|
|
val scalameter = "com.storm-enroute" %% "scalameter" % V.scalameterV % "test" withSources () withJavadoc ()
|
|
}
|
|
|
|
val chain = List(
|
|
Compile.logback
|
|
)
|
|
|
|
val chainTest = List()
|
|
|
|
val core = List(
|
|
Compile.bouncycastle,
|
|
Compile.scodec,
|
|
Compile.slf4j
|
|
)
|
|
|
|
val secp256k1jni = List(
|
|
Compile.nativeLoader,
|
|
Test.junitInterface
|
|
)
|
|
|
|
val coreTest = List(
|
|
Test.junitInterface,
|
|
Test.logback,
|
|
Test.scalaTest,
|
|
Test.spray,
|
|
Test.playJson
|
|
)
|
|
|
|
val bitcoindZmq = List(
|
|
Compile.zeromq,
|
|
Compile.slf4j,
|
|
Test.logback,
|
|
Test.scalacheck,
|
|
Test.scalaTest
|
|
)
|
|
|
|
val bitcoindRpc = List(
|
|
Compile.akkaHttp,
|
|
Compile.akkaStream,
|
|
Compile.playJson,
|
|
Compile.slf4j,
|
|
Compile.typesafeConfig
|
|
)
|
|
|
|
val bitcoindRpcTest = List(
|
|
Test.akkaHttp,
|
|
Test.akkaStream,
|
|
Test.logback,
|
|
Test.scalaTest,
|
|
Test.scalacheck,
|
|
Test.async
|
|
)
|
|
|
|
val bench = List(
|
|
"org.slf4j" % "slf4j-api" % V.slf4j withSources () withJavadoc (),
|
|
Compile.logback
|
|
)
|
|
|
|
val dbCommons = List(
|
|
Compile.slick,
|
|
Compile.sourcecode,
|
|
Compile.logback,
|
|
Compile.sqlite,
|
|
Compile.slickHikari
|
|
)
|
|
|
|
val cli = List(
|
|
Compile.sttp,
|
|
Compile.uPickle,
|
|
Compile.scopt
|
|
)
|
|
|
|
val picklers = List(
|
|
Compile.uPickle
|
|
)
|
|
|
|
val server = List(
|
|
Compile.akkaHttpUpickle,
|
|
Compile.uPickle,
|
|
Compile.logback,
|
|
Compile.akkaHttp
|
|
)
|
|
|
|
val eclairRpc = List(
|
|
Compile.akkaHttp,
|
|
Compile.akkaStream,
|
|
Compile.playJson,
|
|
Compile.slf4j
|
|
)
|
|
|
|
val eclairRpcTest = List(
|
|
Test.akkaHttp,
|
|
Test.akkaStream,
|
|
Test.logback,
|
|
Test.scalaTest,
|
|
Test.scalacheck
|
|
)
|
|
|
|
val node = List(
|
|
Compile.akkaActor,
|
|
Compile.logback,
|
|
Compile.slick,
|
|
Compile.slickHikari,
|
|
Compile.sqlite
|
|
)
|
|
|
|
val nodeTest = List(
|
|
Test.akkaTestkit,
|
|
Test.scalaTest
|
|
)
|
|
|
|
val testkit = List(
|
|
Compile.slf4j,
|
|
Compile.scalacheck,
|
|
Compile.scalaTest,
|
|
Test.akkaTestkit
|
|
)
|
|
|
|
val scripts = List(
|
|
Compile.ammonite,
|
|
Compile.logback
|
|
)
|
|
|
|
val wallet = List(
|
|
Compile.uJson,
|
|
Compile.logback
|
|
)
|
|
|
|
val walletTest = List(
|
|
Test.akkaTestkit
|
|
)
|
|
|
|
val docs = List(
|
|
Compile.logback,
|
|
Test.scalaTest,
|
|
Test.logback
|
|
)
|
|
}
|