Packages
fermo
0.7.1
0.20.1
0.20.0
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.17.1
0.17.0
0.16.7
0.16.6
0.16.5
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.0
0.14.9
0.14.8
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.9
0.13.8
0.13.7
0.13.6
0.13.5
0.13.4
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.1
0.11.0
0.10.0
0.9.1
0.9.0
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.1
0.7.0
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.0
0.3.0
0.2.4
0.2.2
0.2.1
0.2.0
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
A static site generator
Current section
Files
Jump to
Current section
Files
lib/mix/fermo/compiler/manifest.ex
defmodule Mix.Fermo.Compiler.Manifest do
@manifest_vsn 1
def timestamp, do: Mix.Utils.last_modified(path())
def path do
Path.join(Mix.Project.manifest_path(), "compile.fermo")
end
def read do
if File.exists?(path()) do
case File.read!(path()) |> :erlang.binary_to_term() do
[@manifest_vsn | sources] -> sources
_ -> MapSet.new({})
end
else
MapSet.new([])
end
end
def write(sources, timestamp) do
manifest_data =
[@manifest_vsn | sources]
|> :erlang.term_to_binary([:compressed])
path = path()
File.write!(path, manifest_data)
File.touch!(path, timestamp)
end
end