Currently when we create the build target directory in the same path as that of the revel panics
Pradheep testapp $ pwd
/Users/Pradheep/mailbox/src/testapp
Pradheep testapp $ revel build testapp ./tmp/
~
~ revel! http://revel.github.io
~
INFO 2015/10/12 12:56:55 revel.go:329: Loaded module static
INFO 2015/10/12 12:56:55 revel.go:206: Initialized Revel v0.12.0 (2015-03-25) for >= go1.3
INFO 2015/10/12 12:56:55 build.go:172: Cleaning dir tmp
INFO 2015/10/12 12:56:55 build.go:172: Cleaning dir routes
INFO 2015/10/12 12:56:55 build.go:172: Cleaning dir tmp
INFO 2015/10/12 12:56:55 build.go:172: Cleaning dir routes
TRACE 2015/10/12 12:56:55 build.go:94: Exec: [/usr/local/bin/go build -ldflags -X testapp/app.APP_VERSION "" -tags -o /Users/Pradheep/mailbox/bin/revel.d/testapp/testapp testapp/app/tmp]
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x20 pc=0xec40
goroutine 1 [running]:
main.main.func2()
/Users/Pradheep/mailbox/src/github.com/revel/cmd/revel/rev.go:71 +0x5b
main.mustCopyDir.func1(0xc8201e9c00, 0x3f7, 0x0, 0x0, 0xb64680, 0xc820369710, 0x0, 0x0)
/Users/Pradheep/mailbox/src/github.com/revel/cmd/revel/util.go:96 +0x2b0c820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc820190400, 0x3b3, 0xb646a8, 0xc8203fa500, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc82052e000, 0x3ab, 0xb646a8, 0xc820014f00, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc8200a8400, 0x387, 0xb646a8, 0xc820370280, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc82044c000, 0x383, 0xb646a8, 0xc820015a40, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc82029a700, 0x37b, 0xb646a8, 0xc8200148c0, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc820067c00, 0x377, 0xb646a8, 0xc8200147d0, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc820353500, 0x373, 0xb646a8, 0xc8203fb2c0, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc8203e7c00, 0x36b, 0xb646a8, 0xc820015ea0, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc8204b7500, 0x367, 0xb646a8, 0xc820015e00, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc82059c000, 0x363, 0xb646a8, 0xc82033eb90, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc8205bd180, 0x35b, 0xb646a8, 0xc8203fbbd0, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc8205e6a80, 0x357, 0xb646a8, 0xc8203fb7c0, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc8204d5c00, 0x353, 0xb646a8, 0xc8200154f0, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc8204a6e00, 0x34b, 0xb646a8, 0xc820014500, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc820225180, 0x347, 0xb646a8, 0xc8203700f0, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc820438380, 0x343, 0xb646a8, 0xc8203fa230, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc820481180, 0x33b, 0xb646a8, 0xc82033f400, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc82047ea80, 0x337, 0xb646a8, 0xc82033f360, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc82029aa80, 0x333, 0xb646a8, 0xc820382000, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc82034c700, 0x32b, 0xb646a8, 0xc8203fba90, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc8205c2000, 0x327, 0xb646a8, 0xc8203fb810, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc8202d3b00, 0x2e7, 0xb646a8, 0xc820014be0, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc8201f2900, 0x2e3, 0xb646a8, 0xc8203fb4f0, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc82019c900, 0x2db, 0xb646a8, 0xc8203fa320, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc820356c00, 0x2d3, 0xb646a8, 0xc8200149b0, 0xc820185668, 0x0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc0, 0x0)
/usr/local/Cellar/go/1.5.1/libexec/src/path/filepath/path.go:374 +0x4fc
path/filepath.walk(0xc820173a00, 0x1f7, 0xb646a8, 0xc82033f540, 0xc820185668, 0x0, 0x0)
............
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/usr/local/Cellar/go/1.5.1/libexec/src/runtime/asm_amd64.s:1696 +0x1
goroutine 5 [syscall]:
os/signal.loop()
/usr/local/Cellar/go/1.5.1/libexec/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.1
/usr/local/Cellar/go/1.5.1/libexec/src/os/signal/signal_unix.go:28 +0x37
However it doesnot panic if the destination path is some other folder outside the revel path