blob: c009e67329be6895b79bfd202cb9af83b555ceb7 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
version = "0.1.0"
author = "Oskari Timperi"
description = "protobuf library for Nim"
license = "MIT"
skipDirs = @["examples", "tests"]
bin = @["nimpb/compiler/nimpb_build"]
requires "nim >= 0.18.0"
# Hard dependency for now. In the future we could make nimpb_protoc download
# stuff on-demand which would make the dependency a bit lighter. Especially
# if a user already has the protoc compiler somewhere, in which case
# nimpb_protoc might be unnecessary.
requires "nimpb_protoc"
import ospaths, strformat
task run_conformance_tests, "Run the conformance test suite":
var testDir = "tests/conformance"
var proto = testDir / "test_messages_proto3.proto"
var testRunner = "../protobuf-3.5.1/conformance/conformance-test-runner"
exec &"./nimpb/compiler/nimpb_build -I={testDir} --out={testDir} {proto}"
exec &"./nimpb/compiler/nimpb_build -I={testDir} --out={testDir} {testDir}/conformance.proto"
exec &"nimble c {testDir}/conformance_nim.nim"
exec &"{testRunner} {testDir}/conformance_nim"
task gen_wkt, "Re-generate WKT's":
var incdir = "../nimpb_protoc/src/nimpb_protocpkg/protobuf/include/google/protobuf"
var outdir = "nimpb/wkt"
for proto in listFiles(incdir):
echo(&"COMPILING {proto}")
exec &"./nimpb/compiler/nimpb_build -I={incdir} --out={outdir} {proto}"
|