Comments (5)
I'd expect update_profile
to crush the config entirely for erl_opts. I'm guessing a general get/set mechanism could be okay.
from rebar3.
The current way profiles work are that key's that have list values have those lists merged. So this is in keeping with how profile merging works.
from rebar3.
i don't think i really understand the life cycle of a command. the problem with the eunit
handler in particular is that it's got a declared dependency on compile
which means compile
runs before eunit
and the TEST
macro is never defined for source files in src
. that means no inline tests are run
i think the intention is that running eunit
under the test
profile would cause it's dependencies (compile
) to also run under the test profile but that still means you need an {eunit_compile_opts, [...]}
or {erlopts, [...]}
tuple declared somewhere in the config right? there's no way to have the eunit
provider modify it's dependency's state, right?
from rebar3.
@talentdeficit the life cycle is:
- Rebar3 starts
- Config file is read in to the state
- rebar_state:create_logic_providers/2 runs the
init/1
of every available provider - The command is parsed out from the cli arguments
- in
rebar_core
providers:get_target_providers
is called to get the order of providers to run for the command - The profile for the command (
test
in the cause ofcommon_test
, andeunit
should as well) is applied to the config withrebar_state:apply_profiles
do/1
is called for each provider in that list in order
So if you modify the test
profile to include the macro in erl_opts
in eunit
provider's init/1
it'll be used when the compile
provider is run.
from rebar3.
I don't remember what this is about and I opened it, I think I'll close it...
from rebar3.
Related Issues (20)
- Custom rebar3 shells cannot pass args when using Erlang 26 HOT 7
- src_tests option for Relx could be very slow but enabled by default HOT 3
- rebar3 shell ctrl+c exits, unlike erl or iex, and breaks macos zsh terminal HOT 4
- {bad_name, setup} error during rebar3 escriptize HOT 6
- New command 'alias' HOT 2
- "Newly added dep is locked at a lower level" (also) reported when upgrade command is issued HOT 4
- Executing rebar3 throwing escript exception HOT 1
- Templates not found on Fedora Linux HOT 4
- `rebar3 tree` formats its output very badly when called together with OTP26 HOT 4
- Question: Sharing modules between multiple applications
- Many [r3_hex_http] ... is deprecated in favour of ... messages during compilation and upgrades HOT 1
- are there checksum available ? HOT 4
- Escript creation failure reason swallowed by post-hook failure. HOT 1
- Possible error in rebar_core HOT 1
- Uncaught error in rebar_core when running rebar3 shell HOT 1
- when use -name, remote_console connect failed HOT 1
- "Did you mean ...?" suggestions for misspelled commands HOT 7
- rebar3 auto: Error loading module enotify HOT 1
- Tag usage in newer rebar3 versions HOT 14
- Hooks env variables documentation HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rebar3.