Merge branch 'fix_install_fe_bug' into 'develop'

Fix frontend install mix task bug

See merge request pleroma/pleroma!2942
This commit is contained in:
lain 2020-09-03 09:56:17 +00:00
commit 1d743ca829
2 changed files with 10 additions and 2 deletions

View File

@ -69,7 +69,7 @@ defmodule Mix.Tasks.Pleroma.Frontend do
fe_label = "#{frontend} (#{ref})" fe_label = "#{frontend} (#{ref})"
tmp_dir = Path.join(dest, "tmp") tmp_dir = Path.join([instance_static_dir, "frontends", "tmp"])
with {_, :ok} <- with {_, :ok} <-
{:download_or_unzip, download_or_unzip(frontend_info, tmp_dir, options[:file])}, {:download_or_unzip, download_or_unzip(frontend_info, tmp_dir, options[:file])},
@ -135,6 +135,7 @@ defmodule Mix.Tasks.Pleroma.Frontend do
defp install_frontend(frontend_info, source, dest) do defp install_frontend(frontend_info, source, dest) do
from = frontend_info["build_dir"] || "dist" from = frontend_info["build_dir"] || "dist"
File.rm_rf!(dest)
File.mkdir_p!(dest) File.mkdir_p!(dest)
File.cp_r!(Path.join([source, from]), dest) File.cp_r!(Path.join([source, from]), dest)
:ok :ok

View File

@ -48,11 +48,18 @@ defmodule Pleroma.FrontendTest do
} }
}) })
folder = Path.join([@dir, "frontends", "pleroma", "fantasy"])
previously_existing = Path.join([folder, "temp"])
File.mkdir_p!(folder)
File.write!(previously_existing, "yey")
assert File.exists?(previously_existing)
capture_io(fn -> capture_io(fn ->
Frontend.run(["install", "pleroma", "--file", "test/fixtures/tesla_mock/frontend.zip"]) Frontend.run(["install", "pleroma", "--file", "test/fixtures/tesla_mock/frontend.zip"])
end) end)
assert File.exists?(Path.join([@dir, "frontends", "pleroma", "fantasy", "test.txt"])) assert File.exists?(Path.join([folder, "test.txt"]))
refute File.exists?(previously_existing)
end end
test "it downloads and unzips unknown frontends" do test "it downloads and unzips unknown frontends" do