Skip to content

Commit

Permalink
Fixes "dup build" issues for >= v1.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
girvo committed Oct 21, 2016
1 parent 8d25c4f commit 8f31b24
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 7 deletions.
2 changes: 1 addition & 1 deletion src/command.nim
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ proc down*(conf: ProjectConfig) {.raises: [].} =
## Builds the image, passing build arguments in
proc build*(conf: ProjectConfig, noCache: bool = false) =
var hasEnv = false
var buildArgs = argsToStr[BuildArgs](conf.buildArgs)
var buildArgs = buildArgsToStr(conf.buildArgs)
for arg in conf.buildArgs:
if arg.name == "env": hasEnv = true
if not hasEnv:
Expand Down
12 changes: 8 additions & 4 deletions src/config.nim
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,14 @@ proc data*(config: ProjectConfig): string =
## Helper proc for getting data container name
result = config.name & "-data"

proc argsToStr*[T](args: T): string {.raises: [].} =
proc argsToStr*(args: Args): string {.raises: [].} =
result = ""
var marker = " -e "
if name(T) == "BuildArgs":
marker = " --build-arg "
let marker = " -e "
for arg in args:
result &= marker & quoteShellPosix(arg.name) & "=" & quoteShellPosix(arg.value)

proc buildArgsToStr*(args: BuildArgs): string {.raises: [].} =
result = ""
var marker = " --build-arg "
for arg in args:
result &= marker & quoteShellPosix(arg.name) & "=" & quoteShellPosix(arg.value)
4 changes: 2 additions & 2 deletions test/config_test.nim
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ suite "config.argsToStr":

test "works with BuildArgs":
let args: BuildArgs = @[newArg("example", "value")]
let result = argsToStr(args)
let result = buildArgsToStr(args)
check(result == " --build-arg example=value")

test "works with Args":
let args: Args = @[newArg("example2", "value2")]
let result = argsToStr(args)
check(result == " --build-arg example2=value2")
check(result == " -e example2=value2")

0 comments on commit 8f31b24

Please sign in to comment.