Skip to content

Commit 8988b22

Browse files
committed
Copy all relevant files from target/release to priv
1 parent 711c5b3 commit 8988b22

File tree

1 file changed

+19
-29
lines changed

1 file changed

+19
-29
lines changed

src/rebar3_rust_utils.erl

Lines changed: 19 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -34,46 +34,36 @@ compile_crate(CrateDir, PrivDir) ->
3434

3535
{ok, _} = rebar_utils:sh(Command, [{cd, CrateDir}, {use_stdout, true}]),
3636

37-
SOGlob = filename:join([CrateDir, "target", "release", "*.so"]),
38-
SOFiles = filelib:wildcard(SOGlob),
37+
NewFilesGlob = filename:join([CrateDir, "target", "release", "*"]),
38+
NewFiles = lists:filter(
39+
fun(Path) ->
40+
filelib:is_regular(Path) andalso filename:basename(Path) /= ".cargo-lock"
41+
end,
42+
filelib:wildcard(NewFilesGlob)
43+
),
3944

4045
CratesPrivDir = filename:join(PrivDir, "crates"),
4146

4247
file:make_dir(CratesPrivDir),
4348

44-
CrateName = filename:basename(CrateDir),
45-
Destination = filename:join(CratesPrivDir, CrateName),
46-
OldFilesGlob = filename:join(Destination, "*.so"),
47-
OldFiles = filelib:wildcard(OldFilesGlob),
49+
CrateName = filename:basename(CrateDir),
50+
Destination = filename:join(CratesPrivDir, CrateName),
51+
OldFilesGlob = filename:join(Destination, "*"),
52+
OldFiles = filelib:wildcard(OldFilesGlob),
4853

4954
file:make_dir(Destination),
5055

51-
lists:foreach(
52-
fun(File) -> remove_file(File) end,
53-
OldFiles
54-
),
56+
lists:foreach(fun file:delete/1, OldFiles),
5557

5658
lists:foreach(
5759
fun(File) -> copy_file(File, Destination) end,
58-
SOFiles
60+
NewFiles
5961
).
6062

6163
copy_file(SourceFile, DestinationDir) ->
62-
Extension = filename:extension(SourceFile),
63-
64-
case Extension of
65-
".so" ->
66-
DestinationFile = filename:join(
67-
DestinationDir,
68-
filename:basename(SourceFile)
69-
),
70-
71-
file:copy(SourceFile, DestinationFile);
72-
_ -> ok
73-
end.
74-
75-
remove_file(File) ->
76-
case filename:extension(File) of
77-
".so" -> file:delete(File);
78-
_ -> ok
79-
end.
64+
DestinationFile = filename:join(
65+
DestinationDir,
66+
filename:basename(SourceFile)
67+
),
68+
69+
file:copy(SourceFile, DestinationFile).

0 commit comments

Comments
 (0)