lud
Hi,
I need to create modules (predefined Struct based on a JSON schema). To help compiling those modules, I will write a MyCompiler module to provide macros, logics, checks, etc.
But I would like this MyCompiler module not to be compiled itself. Actually I would like to skip producing a beam file for this particular module, so when my code is used (as a dependency) the compiler is not available.
Thank you
Trending in Questions
Hello!
Suppose you are building workflow (order / task / payment) processing system with the following requirements:
Each workflow con...
New
I’m aware of 2 such projects, are there others?
git: GitHub - team-alembic/realworld: A fullstack Phoenix LiveView application with back...
New
Hi all,
I’m working on a Phoenix project where I need to make external HTTP requests and I’m trying to choose between Req and HTTPoison....
New
Hi everyone.
My team and I have been working on a fairly modest app based around video streaming and chat, but we’ve landed a customer t...
New
Hi,
we run different LLM models across a cluster, with each node loading a configurable subset. Model-specific queues let nodes consume ...
New
Hi all, I’m new here and would like to hear peoples views on my Elixir/Phoenix based game-engine! :smiley:
Mutonex gamedesign was finish...
New
Hello
I’ve been coding in Elixir for almost two years now because of my current job where we implemented Elixir in our application. But ...
New
Other Trending Topics
Hey there,
I haven’t seen a list of useful Elixir specific skills for the popular AI tools yet so I’m starting one here with my first.
...
New
I fully migrated to my own harness from Anthropic/Gemini and I think it’s time to share it. Welcome DSH, the DeepSeek Harness, fully writ...
New
Hey. Is there anyone here who creates agents in their apps? Not talking about using agents, but creating them. I’m finding it pretty diff...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
(I just needed to vent somewhere and LinkedIn is full of hope, or hype, I’m not sure which exactly)
AI dream has many faces, but general...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #ai
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #blog-post
- #ecto-query
- #elixirconf-us
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #elixirconf-eu
- #api
- #forms
- #security
- #hex










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
kip
The approach I take for not including some modules in a dependency is this:
my_app/devso that there is nowmy_app/libandmy_app/dev.my_app/devdirectorymix.exsadjust compiler paths to includemy_app/devpackage/0function inmix.exs, don’t include themy_app/devdirectory in the package so the code never makes it to hex.pmlud
I guess it would not work in my case because those modules are required to compile the regular modules.
ityonemo
As far as I can tell this is not supported at the module-level granularity in elixir (I have been begging for this feature). There may be a way to do it with some trickery. If you need something like this you can only do it at the package/deps level by flagging a package as runtime: false.
kip
That’s my understanding too. I would also like to have “compile time” modules - but the only alternative I’m aware of would be to delete the “compile time only” beam files after compilation and that definitely seems like a recipe for future disaster.
ityonemo
I can’t even find an “after compilation” hook lol what is this peasant programming language
kip
You could write your own “compiler” and add it to the end of the compiler chain and use it to clean things up. It just doesn’t feel very clean though.
ityonemo
Oh damn, thanks for the tip
hauleth
It will require that part of the code to be a library (been there) so you can make your compile-time-only module part of such library and then mark it as
runtime: falsewhich will make it to not be included in release (still required as a dependency though).kip
Ahh, thats a neat trick. So to confirm: a dependency marked
runtime: falseis not included in the release package at all? Thats sounds a solid approach with the work being required by the dependency author and not the library consumer (as it should be).hauleth
Unless it will be specified in
:included_applicationsthen it will be fully omitted in the release. However it will still be available for downstream users during their compilation time, the also will be able to opt-in to include that into their release.