Skip to content

Commit d456815

Browse files
authored
Merge pull request #2900 from delitrem/make-escriptize-reproducible
make escriptize reproducible by setting timestamps for files in zip to unix epoch
2 parents b562583 + 4c4809f commit d456815

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

apps/rebar/src/rebar_prv_escriptize.erl

+6-2
Original file line numberDiff line numberDiff line change
@@ -243,8 +243,12 @@ read_file(Prefix, Filename, Dir) ->
243243
_ ->
244244
filename:join([Prefix, Filename])
245245
end,
246+
FilePath = filename:join(Dir, Filename),
247+
{ok, FileInfo0} = file:read_file_info(FilePath),
248+
DateTime = {{1970, 1, 1}, {0, 0, 1}},
249+
FileInfo = FileInfo0#file_info{mtime = DateTime},
246250
[dir_entries(filename:dirname(Filename1)),
247-
{Filename1, file_contents(filename:join(Dir, Filename))}].
251+
{Filename1, file_contents(FilePath), FileInfo}].
248252

249253
file_contents(Filename) ->
250254
{ok, Bin} = file:read_file(Filename),
@@ -272,7 +276,7 @@ usort(List) ->
272276
lists:ukeysort(1, lists:flatten(List)).
273277

274278
get_nonempty(Files) ->
275-
[{FName,FBin} || {FName,FBin} <- Files, FBin =/= <<>>].
279+
[{FName,FBin,FInfo} || {FName,FBin,FInfo} <- Files, FBin =/= <<>>].
276280

277281
find_deps(AppNames, AllApps, State) ->
278282
BinAppNames = [rebar_utils:to_binary(Name) || Name <- AppNames],

0 commit comments

Comments
 (0)