x x x x x x

556 views
482 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
556
On SlideShare
0
From Embeds
0
Number of Embeds
6
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. :)

    ×