Add mix alias to easily add copyright headers to files
This commit is contained in:
parent
cf367fdbd5
commit
3607dfefca
19
mix.exs
19
mix.exs
|
@ -229,7 +229,8 @@ defp aliases do
|
||||||
"ecto.reset": ["ecto.drop", "ecto.setup"],
|
"ecto.reset": ["ecto.drop", "ecto.setup"],
|
||||||
test: ["ecto.create --quiet", "ecto.migrate", "test"],
|
test: ["ecto.create --quiet", "ecto.migrate", "test"],
|
||||||
docs: ["pleroma.docs", "docs"],
|
docs: ["pleroma.docs", "docs"],
|
||||||
analyze: ["credo --strict --only=warnings,todo,fixme,consistency,readability"]
|
analyze: ["credo --strict --only=warnings,todo,fixme,consistency,readability"],
|
||||||
|
copyright: &add_copyright/1
|
||||||
]
|
]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -332,4 +333,20 @@ defp version(version) do
|
||||||
|> Enum.filter(fn string -> string && string != "" end)
|
|> Enum.filter(fn string -> string && string != "" end)
|
||||||
|> Enum.join()
|
|> Enum.join()
|
||||||
end
|
end
|
||||||
|
|
||||||
|
defp add_copyright(_) do
|
||||||
|
line1 = "# Pleroma: A lightweight social networking server\\n"
|
||||||
|
|
||||||
|
line2 =
|
||||||
|
"# Copyright © 2017-#{NaiveDateTime.utc_now().year} Pleroma Authors <https://pleroma.social/>\\n"
|
||||||
|
|
||||||
|
line3 = "# SPDX-License-Identifier: AGPL-3.0-only\\n\\n"
|
||||||
|
template = line1 <> line2 <> line3
|
||||||
|
|
||||||
|
find = "find lib test priv -type f \\( -name '*.ex' -or -name '*.exs' \\) -exec "
|
||||||
|
grep = "grep -L '# Copyright' {} \\; |"
|
||||||
|
xargs = "xargs -n1 sed -i '' '1s;^;#{template};'"
|
||||||
|
|
||||||
|
:os.cmd(String.to_charlist("#{find}#{grep}#{xargs}"))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue