#!/usr/bin/env elixir # Test compilation dependencies Code.prepend_path("lib") IO.puts("=== Testing Dependencies ===") # Try to load dependencies one by one deps = [ DaProductApp.MercuryISO8583.Packagers.FieldPackagers.BaseFieldPackager, DaProductApp.MercuryISO8583.Packagers.Padders.NullPadder, DaProductApp.MercuryISO8583.Packagers.Padders.LeftPadder, DaProductApp.MercuryISO8583.Packagers.Interpreters.BCDInterpreter, DaProductApp.MercuryISO8583.Packagers.Prefixers.NullPrefixer ] Enum.each(deps, fn module -> try do {:module, _} = Code.ensure_loaded(module) IO.puts("✅ #{inspect(module)}") rescue e -> IO.puts("❌ #{inspect(module)}: #{inspect(e)}") end end) IO.puts("\n=== Trying to compile IFB_AMOUNT directly ===") try do path = "lib/da_product_app/mercury_iso8583/packagers/field_packagers/ifb_amount.ex" Code.compile_file(path) IO.puts("✅ IFB_AMOUNT compiled successfully") {:module, module} = Code.ensure_loaded(DaProductApp.MercuryISO8583.Packagers.FieldPackagers.IFB_AMOUNT) IO.puts("✅ IFB_AMOUNT loaded: #{inspect(module)}") rescue e -> IO.puts("❌ Compilation failed: #{inspect(e)}") end