2021-11-23 16:55:16 +00:00
|
|
|
mode = ScriptMode.Verbose
|
|
|
|
|
2021-02-26 00:23:22 +00:00
|
|
|
version = "0.1.0"
|
2022-05-19 19:56:03 +00:00
|
|
|
author = "Codex Team"
|
2021-10-29 19:30:52 +00:00
|
|
|
description = "p2p data durability engine"
|
2021-02-26 00:23:22 +00:00
|
|
|
license = "MIT"
|
2022-04-12 00:42:18 +00:00
|
|
|
binDir = "build"
|
|
|
|
srcDir = "."
|
2021-02-26 00:23:22 +00:00
|
|
|
|
2022-04-12 00:42:18 +00:00
|
|
|
requires "nim >= 1.2.0",
|
2022-09-12 15:59:39 +00:00
|
|
|
"asynctest >= 0.3.2 & < 0.4.0",
|
2021-02-26 00:23:22 +00:00
|
|
|
"bearssl >= 0.1.4",
|
|
|
|
"chronicles >= 0.7.2",
|
|
|
|
"chronos >= 2.5.2",
|
2022-04-12 00:42:18 +00:00
|
|
|
"confutils",
|
2022-06-15 12:08:48 +00:00
|
|
|
"ethers >= 0.2.0 & < 0.3.0",
|
2022-04-12 00:42:18 +00:00
|
|
|
"libbacktrace",
|
|
|
|
"libp2p",
|
2021-02-26 00:23:22 +00:00
|
|
|
"metrics",
|
2022-04-12 00:42:18 +00:00
|
|
|
"nimcrypto >= 0.4.1",
|
2022-05-09 08:52:12 +00:00
|
|
|
"nitro >= 0.5.1 & < 0.6.0",
|
2022-04-12 00:42:18 +00:00
|
|
|
"presto",
|
|
|
|
"protobuf_serialization >= 0.2.0 & < 0.3.0",
|
2022-09-15 14:20:49 +00:00
|
|
|
"questionable >= 0.10.5 & < 0.11.0",
|
2022-04-12 00:42:18 +00:00
|
|
|
"secp256k1",
|
|
|
|
"stew",
|
2022-07-19 15:31:32 +00:00
|
|
|
"upraises >= 0.1.0 & < 0.2.0",
|
|
|
|
"lrucache",
|
|
|
|
"leopard",
|
|
|
|
"blscurve",
|
2022-09-08 22:56:41 +00:00
|
|
|
"libp2pdht",
|
|
|
|
"eth"
|
2022-04-12 00:42:18 +00:00
|
|
|
|
2022-08-18 01:34:09 +00:00
|
|
|
import std/strutils
|
|
|
|
|
2022-04-12 00:42:18 +00:00
|
|
|
when declared(namedBin):
|
|
|
|
namedBin = {
|
2022-05-19 19:56:03 +00:00
|
|
|
"codex/codex": "codex"
|
2022-04-12 00:42:18 +00:00
|
|
|
}.toTable()
|
2021-11-23 16:55:16 +00:00
|
|
|
|
|
|
|
### Helper functions
|
2022-08-18 01:34:09 +00:00
|
|
|
proc buildBinary(name: string, outName = "", srcDir = "./", params = "", lang = "c") =
|
2022-09-05 20:45:25 +00:00
|
|
|
if not dirExists "build": mkDir "build"
|
2021-11-23 16:55:16 +00:00
|
|
|
# allow something like "nim nimbus --verbosity:0 --hints:off nimbus.nims"
|
|
|
|
var extra_params = params
|
2022-06-22 21:37:05 +00:00
|
|
|
when compiles(commandLineParams):
|
|
|
|
for param in commandLineParams:
|
|
|
|
extra_params &= " " & param
|
|
|
|
else:
|
|
|
|
for i in 2..<paramCount():
|
|
|
|
extra_params &= " " & paramStr(i)
|
|
|
|
|
2022-08-18 01:34:09 +00:00
|
|
|
exec "nim " & lang & " --out:build/" & (if outName != "": outName else: name) & " " & extra_params & " " & srcDir & name & ".nim"
|
2021-11-23 16:55:16 +00:00
|
|
|
|
2022-04-12 00:42:18 +00:00
|
|
|
proc test(name: string, srcDir = "tests/", lang = "c") =
|
2022-08-18 01:34:09 +00:00
|
|
|
buildBinary name, srcDir = srcDir
|
2021-11-23 16:55:16 +00:00
|
|
|
exec "build/" & name
|
|
|
|
|
2022-05-19 19:56:03 +00:00
|
|
|
task codex, "build codex binary":
|
2022-06-14 23:34:56 +00:00
|
|
|
buildBinary "codex", params = "-d:chronicles_runtime_filtering -d:chronicles_log_level=TRACE"
|
2022-04-21 14:33:20 +00:00
|
|
|
|
2022-05-19 19:56:03 +00:00
|
|
|
task testCodex, "Build & run Codex tests":
|
|
|
|
test "testCodex"
|
2022-03-15 14:24:03 +00:00
|
|
|
|
2022-05-19 19:56:03 +00:00
|
|
|
task testContracts, "Build & run Codex Contract tests":
|
2022-04-12 00:42:18 +00:00
|
|
|
test "testContracts"
|
2022-03-21 10:37:47 +00:00
|
|
|
|
2022-04-21 14:33:20 +00:00
|
|
|
task testIntegration, "Run integration tests":
|
2022-05-19 19:56:03 +00:00
|
|
|
codexTask()
|
2022-04-21 14:33:20 +00:00
|
|
|
test "testIntegration"
|
|
|
|
|
2022-03-28 08:18:53 +00:00
|
|
|
task test, "Run tests":
|
2022-05-19 19:56:03 +00:00
|
|
|
testCodexTask()
|
2022-03-28 08:18:53 +00:00
|
|
|
|
|
|
|
task testAll, "Run all tests":
|
2022-05-19 19:56:03 +00:00
|
|
|
testCodexTask()
|
2022-03-15 14:24:03 +00:00
|
|
|
testContractsTask()
|
2022-04-21 14:33:20 +00:00
|
|
|
testIntegrationTask()
|
2022-09-05 20:45:25 +00:00
|
|
|
|
|
|
|
task testground_exec, "build codex_testground binary":
|
|
|
|
buildBinary "main", outName = "codex_testground", srcDir = "testground/" & getEnv("TESTGROUND_PLAN").strip & "/"
|