Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F85803399
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Size
4 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/.gitignore b/.gitignore
index fa8a503..31b00ca 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,21 +1,22 @@
# The directory Mix will write compiled artifacts to.
/_build
# If you run "mix test --cover", coverage assets end up here.
/cover
# The directory Mix downloads your dependencies sources to.
/deps
# Where 3rd-party dependencies like ExDoc output generated docs.
/doc
# If the VM crashes, it generates a dump, let's ignore it too.
erl_crash.dump
# Also ignore archive artifacts (built via "mix archive.build").
*.ez
*.o
priv/captcha
+priv/*.dSYM
diff --git a/changelog.d/build-priv.fix b/changelog.d/build-priv.fix
new file mode 100644
index 0000000..1904802
--- /dev/null
+++ b/changelog.d/build-priv.fix
@@ -0,0 +1 @@
+Ensure the generated captcha executable is installed into the compiled application priv directory.
diff --git a/mix.exs b/mix.exs
index 1d95863..20ac7bb 100644
--- a/mix.exs
+++ b/mix.exs
@@ -1,103 +1,106 @@
defmodule Mix.Tasks.Compile.Make do
def run(_) do
{result, error_code} = System.cmd("make", [], stderr_to_stdout: true)
Mix.shell().info(result)
case error_code do
- 0 -> :ok
+ 0 -> copy_priv()
_ -> {:error, ["make failed"]}
end
end
+
+ defp copy_priv do
+ if File.regular?("priv/captcha") do
+ Mix.Project.build_structure()
+ :ok
+ else
+ {:error, ["make did not produce priv/captcha"]}
+ end
+ end
end
defmodule Mix.Tasks.Clean.Make do
def run(_) do
{result, error_code} = System.cmd("make", ["clean"], stderr_to_stdout: true)
Mix.shell().info(result)
case error_code do
0 -> :ok
_ -> {:error, ["make clean failed"]}
end
end
end
defmodule Captcha.Mixfile do
use Mix.Project
def project do
[
app: :captcha,
- version: "1.0.2",
+ version: "1.0.3",
elixir: "~> 1.3",
build_embedded: Mix.env() == :prod,
start_permanent: Mix.env() == :prod,
compilers: [:make, :elixir, :app],
description: description(),
aliases: aliases(),
package: package(),
test_coverage: [summary: [threshold: 50]],
deps: deps()
]
end
# Configuration for the OTP application
#
# Type "mix help compile.app" for more information
def application do
- applications =
- case Mix.env() do
- :dev -> [:logger, :ex_doc, :makeup, :makeup_elixir, :makeup_erlang]
- _ -> [:logger]
- end
-
- [applications: applications]
+ [applications: [:logger]]
end
# Dependencies can be Hex packages:
#
# {:mydep, "~> 0.3.0"}
#
# Or git/path repositories:
#
# {:mydep, git: "https://github.com/p-lang/mydep.git", tag: "0.1.0"}
#
# Type "mix help deps" for more examples and options
defp deps do
[{:ex_doc, ">= 0.0.0", only: :dev, runtime: false}]
end
defp aliases do
[clean: ["clean", "clean.make"]]
end
defp description do
"""
This is a Elixir lib for generating captcha. No dependencies. It drawing captcha image with C code. No ImageMagick, No RMagick.
This is the fork used by Pleroma.
"""
end
defp package do
[
name: :pleroma_captcha,
files: [
"lib",
"mix.exs",
"README*",
"LICENSE*",
"src",
"test",
"config",
"Makefile"
],
maintainers: ["pleroma"],
licenses: ["MIT"],
links: %{
"GitHub" => "https://git.pleroma.social/pleroma/elixir-libraries/elixir-captcha",
"Docs" => "https://git.pleroma.social/pleroma/elixir-libraries/elixir-captcha"
}
]
end
end
diff --git a/test/elixir_captcha_test.exs b/test/elixir_captcha_test.exs
index cd55e1b..1406bfc 100644
--- a/test/elixir_captcha_test.exs
+++ b/test/elixir_captcha_test.exs
@@ -1,15 +1,21 @@
defmodule CaptchaTest do
use ExUnit.Case
doctest Captcha
test "successfully generates an image" do
assert {:ok, _, _} = Captcha.get()
end
+ test "installs generated captcha executable in application priv directory" do
+ executable = Application.app_dir(:captcha, "priv/captcha")
+
+ assert File.regular?(executable)
+ end
+
test "does not package generated captcha executable" do
files = Mix.Project.config() |> Keyword.fetch!(:package) |> Keyword.fetch!(:files)
refute "priv" in files
refute "priv/captcha" in files
end
end
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Fri, Oct 9, 6:26 AM (1 d, 5 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1784486
Default Alt Text
(4 KB)
Attached To
Mode
R13 elixir-captcha
Attached
Detach File
Event Timeline
Log In to Comment