forked from mirrors/akkoma
Merge branch 'copyright-fun' into 'develop'
Mix aliases for handling copyright headers See merge request pleroma/pleroma!3257
This commit is contained in:
commit
b5899fda1a
1 changed files with 29 additions and 1 deletions
30
mix.exs
30
mix.exs
|
@ -229,7 +229,9 @@ defmodule Pleroma.Mixfile do
|
|||
"ecto.reset": ["ecto.drop", "ecto.setup"],
|
||||
test: ["ecto.create --quiet", "ecto.migrate", "test"],
|
||||
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,
|
||||
"copyright.bump": &bump_copyright/1
|
||||
]
|
||||
end
|
||||
|
||||
|
@ -332,4 +334,30 @@ defmodule Pleroma.Mixfile do
|
|||
|> Enum.filter(fn string -> string && string != "" end)
|
||||
|> Enum.join()
|
||||
end
|
||||
|
||||
defp add_copyright(_) do
|
||||
year = NaiveDateTime.utc_now().year
|
||||
template = ~s[\
|
||||
# Pleroma: A lightweight social networking server
|
||||
# Copyright © 2017-#{year} Pleroma Authors <https://pleroma.social/>
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
] |> String.replace("\n", "\\n")
|
||||
|
||||
find = "find lib test priv -type f \\( -name '*.ex' -or -name '*.exs' \\) -exec "
|
||||
grep = "grep -L '# Copyright © [0-9\-]* Pleroma' {} \\;"
|
||||
xargs = "xargs -n1 sed -i'' '1s;^;#{template};'"
|
||||
|
||||
:os.cmd(String.to_charlist("#{find}#{grep} | #{xargs}"))
|
||||
end
|
||||
|
||||
defp bump_copyright(_) do
|
||||
year = NaiveDateTime.utc_now().year
|
||||
find = "find lib test priv -type f \\( -name '*.ex' -or -name '*.exs' \\)"
|
||||
|
||||
xargs =
|
||||
"xargs sed -i'' 's;# Copyright © [0-9\-]* Pleroma.*$;# Copyright © 2017-#{year} Pleroma Authors <https://pleroma.social/>;'"
|
||||
|
||||
:os.cmd(String.to_charlist("#{find} | #{xargs}"))
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue