The service provided by Consileon was professional and comprehensive with a very good understanding of our needs and constrains.

Wolfgang Hafenmayer, Managing partner, LGT Venture Philanthropy

Technical quality of staff offered, capability of performing various project roles, as well as motivation and dedication to the project (... [...]

dr Walter Benzing, Head of development B2O, net mobile AG

Technical quality of staff offered, capability of performing roles of developers, lead developers, trainers, team leaders, architects as wel [...]

Karl Lohmann, Itellium Systems & Services GmbH

Firma Consileon Polska jest niezawodnym i godnym zaufania partnerem w biznesie, realizującym usługi z należytą starannością (...)

Waldemar Ściesiek, Dyrektor zarządzający IT, Polski Bank

The team was always highly motivated and professional in every aspect to perform on critical needs of our startup environment.

Denis Benic, Founder of Ink Labs

Eake … narzędzie budowania dla Erlanga

Category: Other Tags: ,

Eake to proste Erlang’owe narzędzie do budowania wzorowane na Rake (Ruby), które stworzyłem po to, aby zastąpić w moich projektach Erlang’owych make’a i rake’a. W internecie jest mnóstwo przykładów bazujących na make, którego nie lubię, jest równie wiele przykładów użycia Rake’a do budowania projektów opartych o Erlang’a. Eake powstał właśnie dlatego że lubię „natywne” rozwiązania, czyli pisanie skryptów buildowania w natywnym języku projektu.

Eake nie jest jeszcze w pełni funkcjonalny, ale stanowi podstawę do dalszej dyskusji i pomysłów, bardzo oczekuję na wszelkie uwagi i komentarze związane Eake’iem. Proszę również o propozycje licencji dla w/w projektu.

Eake’a znajdziemy na GitHub: http://github.com/andrzejsliwa/eake/tree/master

Przykładowe użycie (plik eakefile):

-module(eakefile).
-compile([export_all]).
-import(eake, [task/3, namespace/3, run_target/2, run/1]).

execute() -> [

  namespace(db, "test", [
    task(migrate, "That is migration", fun(Params) ->
      io:format("in migration params: ~w", [Params]),
      run_target('db:rollback', [])
    end),

    task(rollback, "That is rollback", fun(_) ->
      io:format("in rollback"),
      run("ls")
    end)
  ])
].

Przykładowe polecenia:

$ eake db:migrate
$ eake db:migrate db:rollback
$ eake db:migrate=[1,atom]
$ eake db:migrate=name

Eake jest moim pierwszym programem napisanym w Erlangu, proszę więc o wszelkie rady i uwagi co do stylu jak i użytych konstrukcji.

http://andrzejsliwa.com/2009/05/28/eake-narzedzie-budowania-dla-erlanga-bazujace-na-rake/


Andrzej Śliwa

Programista, pasjonat, scrum master, konsultant IT.

Pasjonuje się językami dynamicznymi, metodami wytwarzania oprogramowania oraz metodologiami prowadzenia projektów, szczególnie dbający o jakość wytwarzanych rozwiązań. Obecnie koncentruje się na rozwoju w zakresie wykorzystywania frameworka Ruby on Rails, skalowanych rozwiązań, cloud computingu i języków funkcyjnych.


Tags: ,

Comments

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Trwa ładowanie