2012년 7월 5일 목요일

using rebar


Richard Jones 님이 정리한, rebar 사용법.
http://www.metabrew.com/article/erlang-rebar-tutorial-generating-releases-upgrades

이건 2010년도에 Belo Horizonte님이 정리한 사용법
http://alancastro.org/2010/05/01/erlang-application-management-with-rebar.html

그런데, outdated된 내용도 있고, 그대로 딱 되지는 않는다.

당장 필요한 것만 정리하면 다음과 같다.

1. rebar를 다운로드 받는다.
https://github.com/basho/rebar

2. 프로젝트 루트 디렉토리를 만든다. 그리고 rebar를 copy한다.
#> mkdir proj_home
#> cd proj_home

3.  proj_home/apps/mysample/src 로 프로젝트를 만든다.
디렉토리 구조는, https://github.com/RJ/erlang_rebar_example_project/tree/v1 이것을 참조하면 된다.

src 폴더에서,
#> rebar create-app appid=mysample
로 소스를 생성한다.

mysample_app.erl 을 mysample.erl로 mv하고, start/0 함수를 추가한다.

다음을 rebar.config에 추가한다.


{sub_dirs, [
            "apps/mysample",
            "rel"
           ]}.


그리고, 추가 소스를 넣고, 동작이 되게 하고, 컴파일한다.
#> ./rebar compile

4. release버젼을 만들어 본다.

#> mkdir rel
#> cd rel
#> ../rebar create-node nodeid=mysample

=> rel.config를 수정한다.
https://github.com/RJ/erlang_rebar_example_project/blob/v1/rel/reltool.config
{lib_dirs, ["../apps"]},

{rel, "dummy", "1",
        [
         kernel,
         stdlib,
         sasl,
         dummy_app
        ]},

이 부분을 수정하면 된다.

#> cd ..
#> ./rebar generate

5. 확인한다.
#> bin/mysample 치면 console,start,stop,attach,ping 등을 해 볼 수 있다.