mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-03-03 02:39:18 +01:00
Move binaries to be stored inside of the HOME/.bitcoin-s/binaries instead of usrdir/binaries. This makes it so different projects that use bitcoin-s can re-use binaries instead of having to download them for every project (#1128)
This commit is contained in:
parent
876eab472f
commit
2279313eb9
7 changed files with 30 additions and 22 deletions
|
@ -17,7 +17,8 @@ TaskKeys.downloadBitcoind := {
|
|||
val logger = streams.value.log
|
||||
import scala.sys.process._
|
||||
|
||||
val binaryDir = Paths.get("binaries", "bitcoind")
|
||||
val binaryDir = CommonSettings.binariesPath.resolve("bitcoind")
|
||||
|
||||
|
||||
if (Files.notExists(binaryDir)) {
|
||||
logger.info(s"Creating directory for bitcoind binaries: $binaryDir")
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
import java.nio.file._
|
||||
|
||||
import scala.util.Properties
|
||||
|
||||
name := "bitcoin-s-eclair-rpc"
|
||||
|
||||
libraryDependencies ++= Deps.eclairRpc
|
||||
|
@ -12,7 +14,7 @@ TaskKeys.downloadEclair := {
|
|||
val logger = streams.value.log
|
||||
import scala.sys.process._
|
||||
|
||||
val binaryDir = Paths.get("binaries", "eclair")
|
||||
val binaryDir = CommonSettings.binariesPath.resolve("eclair")
|
||||
|
||||
if (Files.notExists(binaryDir)) {
|
||||
logger.info(s"Creating directory for Eclair binaires: $binaryDir")
|
||||
|
|
|
@ -700,7 +700,7 @@ class EclairRpcClient(val instance: EclairInstance, binary: Option[File] = None)
|
|||
}
|
||||
case (None, Some(path)) =>
|
||||
val eclairV =
|
||||
s"/eclair-node-${EclairRpcClient.version}-${EclairRpcClient.commit}.jar"
|
||||
s"eclair-node-${EclairRpcClient.version}-${EclairRpcClient.commit}.jar"
|
||||
val fullPath = path + eclairV
|
||||
|
||||
val jar = new File(fullPath)
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
// these two imports are needed for sbt syntax to work
|
||||
import java.nio.file.Paths
|
||||
|
||||
import sbt._
|
||||
import sbt.Keys._
|
||||
|
||||
|
@ -116,4 +118,6 @@ object CommonSettings {
|
|||
) ++ testSettings
|
||||
|
||||
lazy val prodSettings: Seq[Setting[_]] = settings
|
||||
|
||||
lazy val binariesPath = Paths.get(Properties.userHome, ".bitcoin-s", "binaries")
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import org.bitcoins.rpc.config.{BitcoindAuthCredentials, BitcoindInstance}
|
|||
import org.bitcoins.rpc.util.RpcUtil
|
||||
import org.bitcoins.testkit.async.TestAsyncUtil
|
||||
import org.bitcoins.testkit.rpc.{BitcoindRpcTestUtil, TestRpcUtil}
|
||||
import org.bitcoins.testkit.util.TestkitBinaries
|
||||
|
||||
import scala.concurrent.duration.{DurationInt, FiniteDuration}
|
||||
import scala.concurrent.{ExecutionContext, Future}
|
||||
|
@ -47,7 +48,7 @@ trait EclairRpcTestUtil extends BitcoinSLogger {
|
|||
|
||||
/** Directory where sbt downloads Eclair binaries */
|
||||
private[bitcoins] val binaryDirectory =
|
||||
BitcoindRpcTestUtil.baseBinaryDirectory.resolve("eclair")
|
||||
TestkitBinaries.baseBinaryDirectory.resolve("eclair")
|
||||
|
||||
/** Path to Jar downloaded by Eclair, if it exists */
|
||||
private[bitcoins] def binary(
|
||||
|
|
|
@ -53,7 +53,7 @@ import org.bitcoins.rpc.jsonmodels.{
|
|||
SignRawTransactionResult
|
||||
}
|
||||
import org.bitcoins.rpc.util.{AsyncUtil, RpcUtil}
|
||||
import org.bitcoins.testkit.util.FileUtil
|
||||
import org.bitcoins.testkit.util.{FileUtil, TestkitBinaries}
|
||||
import org.bitcoins.util.ListUtil
|
||||
|
||||
import scala.annotation.tailrec
|
||||
|
@ -156,25 +156,9 @@ trait BitcoindRpcTestUtil extends BitcoinSLogger {
|
|||
|
||||
lazy val network: RegTest.type = RegTest
|
||||
|
||||
/** The base directory where binaries needed in tests
|
||||
* are located. */
|
||||
private[bitcoins] val baseBinaryDirectory = {
|
||||
val cwd = Paths.get(Properties.userDir)
|
||||
val pathsToGoBackFrom = List("eclair-rpc-test",
|
||||
"bitcoind-rpc-test",
|
||||
"node-test",
|
||||
"wallet-test",
|
||||
"chain-test")
|
||||
|
||||
val rootDir = if (pathsToGoBackFrom.exists(cwd.endsWith)) {
|
||||
cwd.getParent()
|
||||
} else cwd
|
||||
rootDir.resolve("binaries")
|
||||
}
|
||||
|
||||
/** The directory that sbt downloads bitcoind binaries into */
|
||||
private[bitcoins] val binaryDirectory = {
|
||||
baseBinaryDirectory.resolve("bitcoind")
|
||||
TestkitBinaries.baseBinaryDirectory.resolve("bitcoind")
|
||||
}
|
||||
|
||||
def newestBitcoindBinary: File = getBinary(BitcoindVersion.newest)
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
package org.bitcoins.testkit.util
|
||||
|
||||
import java.nio.file.{Path, Paths}
|
||||
|
||||
import scala.util.Properties
|
||||
|
||||
object TestkitBinaries {
|
||||
|
||||
/** The base directory where binaries needed in tests
|
||||
* are located. */
|
||||
lazy val baseBinaryDirectory: Path = {
|
||||
val home = Paths.get(Properties.userHome, ".bitcoin-s", "binaries")
|
||||
home
|
||||
}
|
||||
|
||||
}
|
Loading…
Add table
Reference in a new issue