38 lines
904 B
Nim
38 lines
904 B
Nim
# Package
|
|
|
|
version = "0.3.0"
|
|
author = "Joseph Montanaro"
|
|
description = "Passphrase generator and dictionary builder"
|
|
license = "none"
|
|
srcDir = "src"
|
|
bin = @["passphrase"]
|
|
|
|
|
|
# Dependencies
|
|
|
|
requires "nim >= 1.0"
|
|
requires "nimcrypto >= 0.4.8"
|
|
|
|
|
|
# Tasks n scripts
|
|
|
|
|
|
proc runCmd(command: string, input = "", cache = ""): string =
|
|
let (output, exitCode) = gorgeEx(command, input, cache)
|
|
if exitCode != 0:
|
|
echo "Command failed: " & command
|
|
echo "Output:\n ", output.splitLines().join("\n ")
|
|
quit(exitCode)
|
|
result = output
|
|
|
|
|
|
task(dictionary, "Generate dictionary from BNC XML files"):
|
|
echo "Building dictionary"
|
|
let output = runCmd("nim c --run --threads:on -d:release -d:lto src/process.nim data/BNC/2554/download/Texts src/")
|
|
echo output.strip().splitlines()[^1]
|
|
|
|
|
|
before(build):
|
|
if not fileExists("data/dictionary.txt"):
|
|
dictionaryTask()
|