RJ / www.metabrew.com

Static site generation for my blog
0 stars 0 forks source link

Erlang/OTP releases: rebar, release_handler, .appup, etc #14

Open RJ opened 3 years ago

RJ commented 3 years ago

Written on 09/18/2010 16:10:40

URL: http://www.metabrew.com/article/erlangotp-releases-rebar-release_handler-appup-etc

RJ commented 3 years ago

Comment written by Kelly on 09/18/2010 17:47:05

Good article! I've struggled with a lot of the same things. I actually made some changes to rebar to address some of these issues and submitted the patch to Dave for review. If you want to check out my changes and maybe make any suggestions for anything further to be done here's my bitbucket fork: http://bitbucket.org/mclaug...

RJ commented 3 years ago

Comment written by RJ on 09/18/2010 18:13:29

Kelly: cool, will take a look. Would be great if rebar could do it all.

RJ commented 3 years ago

Comment written by Dizzy on 09/18/2010 19:02:27

Nice article, Richard. A couple of notes:

If you add the following line to your reltool.config, you can avoid the pain that is .ez files:

{excl_archive_filters, [".*"]},

I'm not sure why reltool generates these by default, but I recommend turning them off.

I don't quite understand why reltool (I think) is messing up the naming on the .boot and .rel file names. I've spent most of my time struggling with reltool it feels like -- if it's really doing this poorly it might be worth ejecting it. I was just trying to be a lazy programmer and use what OTP system offers.

Kelly, as noted above has some patches that I have yet to merge into mainline -- you may find those helpful.

I would very much like to get to the point where it's easy to generate upgrades. Thanks for the feedback and commentary. :)

RJ commented 3 years ago

Comment written by Steven Gravell on 09/18/2010 22:41:22

I'm still staying away from rebar for now due to it hiding all the complexity that I'm in the process of learning, and have a rather messy compile/make target release/deploy/tar up new version process going that I'm happy with. I'll have to clean it up and then write it up since it would go nicely alongside this post. Very cool to be seeing how other people are attacking the same problems

RJ commented 3 years ago

Comment written by Dmitry Demeshchuk on 09/21/2010 13:02:59

BTW, instead of code:load_file() you can also use the following:

make:all([load]).

The good thing here is that you can use Emakefile to specify ebin dir, include dir and search patterns for source Erlang files.

As for rebar, it's very sophisticated but it doesn't provide true 'canonical' OTP release update that can update gen_server's internal state using system_code_change().
I guess, the good case to use rebar is a couple of external applications that require regular update, like mochiweb. Or at least some C code for ports.
Otherwise, make() is much easier.

RJ commented 3 years ago

Comment written by metabrew on 02/18/2011 12:36:05

Rebar recently got a wonderful new "generate-upgrade" command: https://github.com/basho/re...

RJ commented 3 years ago

Comment written by escorte on 03/20/2012 16:36:48

I d constantly want to be update on new posts on this internet site , saved to fav! .

RJ commented 3 years ago

Comment written by Sven Heyll on 09/04/2012 20:54:59

Hi

Nice blog post. At Lindenbaum we use the maven-erlang-plugin. This thing gets the job done pretty nice, with all the advantages (and disadvantages)of using maven; also it has comprehensive documentation and is actively maintained:
http://erlang-plugin.source...