Packages

Exploration of Erlang priv path resolution

Retired package: Release invalid - Just a test

Current section

Files

Jump to
archive_priv_dir_test lib mix tasks archive_priv_dir_test.ex
Raw

lib/mix/tasks/archive_priv_dir_test.ex

defmodule Mix.Tasks.Archive.PrivDirTest do
@moduledoc """
Prints output of various Erlang code path and loader functions to discover archive's priv directory.
"""
use Mix.Task
@shortdoc "Debug print Erlang archive priv paths"
def run(_args) do
IO.puts("=== Archive Debug Information ===")
IO.puts(
":code.lib_dir(:archive_priv_dir_test) = " <>
inspect(:code.lib_dir(:archive_priv_dir_test)) <> " (deprecated)"
)
IO.puts(
":code.priv_dir(:archive_priv_dir_test) = " <>
inspect(:code.priv_dir(:archive_priv_dir_test)) <> " (deprecated)"
)
IO.puts(
":erl_prim_loader.get_path() = " <> inspect(:erl_prim_loader.get_path()) <> " (deprecated)"
)
IO.puts(":escript.script_name() = " <> inspect(:escript.script_name()))
IO.puts(
":escript.extract(\"priv/flag.txt\") = " <>
inspect(:escript.extract("priv/flag.txt" |> String.to_charlist(), []))
)
end
end