To zależy – Bazel

Prowadzący: Adam Szady


Czym budować kod w XXI w.
Kategorie: informatyka

Bazel to elastyczne narzędzie do budowania i testowania mniej i bardziej złożonych projektów informatycznych.

Alternatywa dla rozwiązań typu cmake/maven/itp. Działa z większością wiodących języków programowania i można go rozszerzyć o dowolne inne – łącznie z systemem zewnętrznych zależności. Bazel to również filozofia, w której przez poprawne zdefiniowanie grafu zależności, budowanie i testowanie są szybkie i poprawne.

Opis

Warsztaty będą polegać na zapoznaniu się z Bazelem od zera, aby uzyskać podstawową umiejętność użytkowania w prostych projektach. Następnie omówione zostaną wybrane funkcjonalności, wykorzystujące rozszerzalność Bazela, do uzyskania coraz bardziej zaawansowanych rezultatów.

Ramowy plan warsztatów:

  1. Użytkowanie (na podstawie tego co już jest wspierane)
  2. Rozszerzanie (na wypadek bardziej specyficznych potrzeb)
  3. Zaawansowane aspekty (co innego jeszcze można robić)

Wymagania

Wymagane umiejętności i oprogramowanie:

  1. Ogólne umiejętności programowania.
  2. Podstawowa biegłość w języku Python – z większym naciskiem na składnię niż bibliotekę standardową. Do Bazela będziemy pisać w Starlarku, który jest podzbiorem Pythona.
  3. Ogólne zrozumienie procesów budowania oprogramowania – chociażby na przykładzie języków C(++)/Python, jak to działa że wiele plików może składać się na jedną aplikację.
  4. Obsługa gita – pobranie repozytorium, aktualizacja, proszenie o pociągnięcie (ang. merge request / pull request).
  5. Komputer z zainstalowanym zestawem Bazel+gcc+python – do użytku podczas warsztatu. 

Powyższe wymagania są sprawdzane w zadaniach kwalifikacyjnych, na które odpowiedzi należy zamieścić przez stronę.