nerves-project / nerves

Craft and deploy bulletproof embedded software in Elixir
http://nerves-project.org
Apache License 2.0
2.23k stars 189 forks source link

Move the Shoehorn release script ordering to core #949

Open fhunleth opened 7 months ago

fhunleth commented 7 months ago

This is a draft PR.

This moves over the Shoehorn release script functionality every Nerves project uses and there are even assumptions baked into projects about OTP applications starting up as temporary rather than permanent. Unit tests still need to be moved over, documentation updated, and configuration option names probably need updating.

With this PR, I wanted to start the conversation on removing the :shoehorn dependency from Nerves projects. Users could add it back for the application restart feature if they needed it, but the code would no longer come along by default. At a minimum, the application restart code needs to be updated since it uses the deprecated error_logger. There are arguments that there are better ways of handling the problems that it was written to fix, so separating it from the code that gets used a lot seems helpful.