Applied RebarCommon Patterns for Usage
GoalsExamine common patterns for organization ofErlang applications/librariesDiscuss tradeoffs
OTP TerminologyApplication  1..n modules + resource file (.app)Release  1..n applications + resource file (.rel)System (aka ...
How rebar worksThree module chains: app, rel, anyApp dir test: ebin/*.app or src/*.app.srcRel dir test: reltool.config
Helper bitsRebar dependencies  Source-based download/compilation  {deps, [{App, {git, Url, Tag}}]}Reltool can automagicall...
A bit of philosophy...Apps should be compiled from source  Ensures correctness for platform/ERTS version  Allows isolation...
Simple AppFollows standard conventions  src, ebin, include, priv, c_srcMay have deps in rebar.configExamples:  cowboy, gpro...
Escripted AppSingle appMay have dependenciesExample: basho_bench
Composite AppMultiple apps  apps/app1..nMay have dependenciesreltool.config in subdir  rel/reltool.config
Packaged SystemNo apps in repo; all apps are dependenciesReltool.config in subdirPredominant example: Riak
The FutureTBD. :)
Upcoming SlideShare
Loading in...5
×

x x x x x x

378

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
378
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • x x x x x x

    1. 1. Applied RebarCommon Patterns for Usage
    2. 2. GoalsExamine common patterns for organization ofErlang applications/librariesDiscuss tradeoffs
    3. 3. OTP TerminologyApplication 1..n modules + resource file (.app)Release 1..n applications + resource file (.rel)System (aka “Target System”) Release + Embedded ERTS
    4. 4. How rebar worksThree module chains: app, rel, anyApp dir test: ebin/*.app or src/*.app.srcRel dir test: reltool.config
    5. 5. Helper bitsRebar dependencies Source-based download/compilation {deps, [{App, {git, Url, Tag}}]}Reltool can automagically generate a release +system from a config file Rebar wraps reltool and uses convention of reltool.config
    6. 6. A bit of philosophy...Apps should be compiled from source Ensures correctness for platform/ERTS version Allows isolation of dependenciesNo central repo of applications Curation not required Curation not provided, either
    7. 7. Simple AppFollows standard conventions src, ebin, include, priv, c_srcMay have deps in rebar.configExamples: cowboy, gproc, folsom
    8. 8. Escripted AppSingle appMay have dependenciesExample: basho_bench
    9. 9. Composite AppMultiple apps apps/app1..nMay have dependenciesreltool.config in subdir rel/reltool.config
    10. 10. Packaged SystemNo apps in repo; all apps are dependenciesReltool.config in subdirPredominant example: Riak
    11. 11. The FutureTBD. :)
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×