-
-
Notifications
You must be signed in to change notification settings - Fork 193
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The end-user project is always recompiled when MIX_TARGET is set #623
Comments
I have confirmed that this regression was caused by: 40a77d8 |
A weird thing is that if I use nerves as a MIX_DEBUG=true mix compile --verbose # with nerves :path dep pointing to good commit (does recompile but no make output)** Running mix loadconfig (inside Blinky.MixProject) Nerves environment ** Running mix nerves.env (inside Blinky.MixProject) MIX_DEBUG=true mix compile --verbose # on github dep 40a77d8 (does recompile, and shows make output)** Running mix loadconfig (inside Blinky.MixProject) Nerves environment ** Running mix nerves.env (inside Blinky.MixProject) MIX_DEBUG=true mix compile --verbose # with github dep on ec5ae3f (does not recompile)** Running mix loadconfig (inside Blinky.MixProject) Nerves environment ** Running mix nerves.env (inside Blinky.MixProject) |
So it looks like the main issue is that So it seems that we would need to teach |
Okay, the above info is correct, but I was thrown off for a bit because Here is a Proof of Concept workaround for this issue: But since all it does is always return But here is a potential working approach 🎉: There's some relevant comments and questions inline and I would appreciate any feedback before submitting it as a PR to elixir_make Here is the commit that uses the patched version of elixir_make that I used to verify that the PoC fix works Here is the commit that uses the potential working fix in blinky: That's a lot of links! Hopefully I didn't mess up any of them 😃 |
Thanks for all of the debug. My only idea so for is to add an option to |
Environment
elixir -v
): Elixir 1.9.4 (compiled with Erlang/OTP 22)mix nerves.env --info
==> nerves
/usr/bin/make -C src all
make[1]: Entering directory '/home/jason/dev/forks/nerves_examples/blinky/deps/nerves/src'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/jason/dev/forks/nerves_examples/blinky/deps/nerves/src'
if [ -f test/fixtures/port/Makefile ]; then /usr/bin/make -C test/fixtures/port; fi
==> blinky
|nerves_bootstrap| Environment Package List
Pkg: nerves_system_br
Vsn: 1.11.4
Type: system_platform
BuildRunner: {nil, []}
Pkg: nerves_system_rpi3
Vsn: 1.11.2
Type: system
BuildRunner: {Nerves.Artifact.BuildRunners.Local, []}
Pkg: nerves_toolchain_arm_unknown_linux_gnueabihf
Vsn: 1.3.2
Type: toolchain
BuildRunner: {Nerves.Artifact.BuildRunners.Local, []}
Pkg: nerves_toolchain_ctng
Vsn: 1.7.2
Type: toolchain_platform
BuildRunner: {nil, []}
|nerves_bootstrap| Loadpaths Start
Nerves environment
MIX_TARGET: rpi3
MIX_ENV: dev
|nerves_bootstrap| Environment Variable List
target: rpi3
toolchain: /home/jason/.local/share/nerves/artifacts/nerves_toolchain_arm_unknown_linux_gnueabihf-linux_x86_64-1.3.2
system: /home/jason/.local/share/nerves/artifacts/nerves_system_rpi3-portable-1.11.2
app: /home/jason/dev/forks/nerves_examples/blinky
|nerves_bootstrap| Loadpaths End
may help
Current behavior
Reproduction repo (includes steps)
https://github.com/axelson/nerves_examples/tree/test-regression
Expected behavior
Project is only recompiled once when running
mix compile
(unless changes are made of course)The text was updated successfully, but these errors were encountered: