I do have a project to trigger it, it was in the original post
Here is the project
We can easily test this by changing the mix.exs deps to:
{:ash, "~> 3.9"},
{:spark, "== 2.3.11"},
And then run MIX_ENV=test mix compile --force --profile time
This will generate the app without any warnings:
==> core
Compiling 6 files (.ex)
[profile] 23ms compiling + 0ms waiting while compiling lib/core/application.ex
[profile] 62ms compiling + 0ms waiting while compiling test/support/factory/builder.ex
[profile] 375ms compiling + 0ms waiting while compiling lib/core/marketplace/chat.ex
[profile] 1991ms compiling + 0ms waiting while compiling lib/core/marketplace/chat/attachment.ex
[profile] 998ms compiling + 1820ms waiting for module Core.Marketplace.Chat.Attachment while compiling lib/core/marketplace/chat/property_message.ex
[profile] 66ms compiling + 2687ms waiting for module Core.Marketplace.Chat.PropertyMessage while compiling test/support/factory/marketplace/chat/property_message.ex
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 9 modules in 2852ms
[profile] Finished group pass check of 9 modules in 179ms
Generated core app
But, if we update the spark version to 2.3.12 or newer:
{:ash, "~> 3.9"},
{:spark, "== 2.3.12"},
And run the same command MIX_ENV=test mix compile --force --profile time
Now we will see the warning being generated:
==> core
Compiling 6 files (.ex)
[profile] 38ms compiling + 0ms waiting while compiling lib/core/application.ex
[profile] 79ms compiling + 0ms waiting while compiling test/support/factory/builder.ex
[profile] 420ms compiling + 0ms waiting while compiling lib/core/marketplace/chat.ex
[profile] Finished deadlock resolution in 0ms
warning: you are implementing a protocol for Core.Marketplace.Chat.PropertyMessage but said module is not available. Make sure the module name is correct. If Core.Marketplace.Chat.PropertyMessage is an optional dependency, please wrap the protocol implementation in a Code.ensure_loaded?(Core.Marketplace.Chat.PropertyMessage) check
│
1 │ defimpl Core.Support.Factory.Builder, for: Core.Marketplace.Chat.PropertyMessage do
│ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
│
└─ test/support/factory/marketplace/chat/property_message.ex:1: (file)
[profile] 70ms compiling + 327ms waiting for module Core.Marketplace.Chat.PropertyMessage while compiling test/support/factory/marketplace/chat/property_message.ex
[profile] | 22ms waiting for module Core.Support.Factory.Builder while compiling test/support/factory/marketplace/chat/property_message.ex
[profile] Finished deadlock resolution in 0ms
[profile] 2112ms compiling + 446ms waiting for module :embedded while compiling lib/core/marketplace/chat/attachment.ex
[profile] 1178ms compiling + 2363ms waiting for module Core.Marketplace.Chat.Attachment while compiling lib/core/marketplace/chat/property_message.ex
[profile] Finished cycle resolution in 0ms
[profile] Finished compilation cycle of 9 modules in 3543ms
[profile] Finished group pass check of 9 modules in 97ms
Generated core app






















