From f83f18eb3bcaebc746c72ffe728379c9a44668f1 Mon Sep 17 00:00:00 2001 From: Charles McKnight Date: Wed, 5 Jan 2011 16:00:00 -0800 Subject: [PATCH] Fix error where ebin was created as a file This patch remedies an issue where the ebin directory would be erroneously created as a file by the first "mv" command in rebar_protobuffs_compile.erl [line 106] if the ebin file did not exist at the root application level. In essence, the patch ensures that the ebin directory exists at the application directory level before any "mv" commands are executed. The following code was inserted at line 106: ok = filelib:ensure_dir(filename:join("ebin","dummy")), --- src/rebar_protobuffs_compiler.erl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/rebar_protobuffs_compiler.erl b/src/rebar_protobuffs_compiler.erl index 122440c..2a2139f 100644 --- a/src/rebar_protobuffs_compiler.erl +++ b/src/rebar_protobuffs_compiler.erl @@ -103,6 +103,7 @@ compile_each([{Proto, Beam, Hrl} | Rest]) -> %% Compilation worked, but we need to move the .beam and .hrl file %% into the ebin/ and include/ directories respectively %% TODO: Protobuffs really needs to be better about this...sigh. + ok = filelib:ensure_dir(filename:join("ebin","dummy")), [] = os:cmd(?FMT("mv ~s ebin", [Beam])), ok = filelib:ensure_dir(filename:join("include", Hrl)), [] = os:cmd(?FMT("mv ~s include", [Hrl])),