Ostatnio zabrałem się za konfigurowanie TeamCity dla swojego projektu i w trakcie prac natknąłem się na zupełnie nowe dla mnie narzędzie o nazwie Bundler. Z tej okazji postanowiłem napisać o nim krótką „notatkę” 😎.

 

 

Bundler to takie CococaPods, ale dla bibliotek napisanych w języku Ruby nazywanych gemami – tłumaczenie na klejnoty chyba nie ma sensu 😜. Przykładami takich bibliotek są wspomniane już CocoaPods oraz Fastlane. Do zarządzania zależnościami w projekcie Bundler wykorzystuje plik Gemfile, który działa bardzo podobnie do pliku podfile z CocoaPods. Za chwilę będziecie mogli zobaczyć to na konkretnym przykładzie.

Dzięki wykorzystaniu Bundler’a możemy upewnić się, że każda osoba w zespole będzie korzystała z tych samych wersji bibliotek. Żebyście mogli lepiej zrozumieć jego działanie, pokażę Wam jak za jego pomocą skonfigurować CococaPods oraz Fastlane.

Zacznijcie od instalacji Bundler’a na Waszej maszynie. Otwórzcie terminal i wpiszcie następujące polecenie:

Następnie przejdźcie do folderu głównego projektu, w którym chcecie dokonać konfiguracji (tam gdzie znajduje się plik .xcworkspace) i wpiszcie następujące polecenie:

Zostanie utworzony plik Gemfile, w którym będziecie mogli umieszczać informacje o wykorzystywanych bibliotekach. Tak może wyglądać przykładowa konfiguracja, którą skopiowałem ze swojego aktualnego projektu:

Tylko dwie ostanie linijki zostały dodane przeze mnie. Reszta znajdowała się już w wygenerowanym pliku Gemfile. Za pomocą polecenia gem ‚cocoapods’, ‚1.5.3’ określamy jednoznacznie z jakiej wersji CocaPods powinien korzystać nasz projekt, natomiast za pomocą gem ‚fastlane’, ‚~> 2.97.0’ dajemy do zrozumienia, że w przypadku fastlane interesuje nas wersja większa lub równa 2.97.0, ale mniejsza niż 2.98.0.

Możecie teraz za pomocą poniższego polecenia zainstalować określne biblioteki w Waszym projekcie:

Teraz cały trik polega na tym, aby wybrane narzędzie uruchamiać za pomocą Bundler’a. Tak będzie wyglądała inicjalizacja CocoaPods w projekcie:

Przed standardową instrukcją pod init umieszczamy dodatkowo polecenie bundle exec, dzięki któremu „wymuszamy” użycie właściwej wersji CocoaPods zdefiniowanej w pliku Gemfile.

 

Słowo na drogę

 

Bundler potrafi oczywiście znacznie więcej, a jego możliwości możecie sprawdzić na stronie projektu. Poświęcenie kilku chwil na podstawową konfigurację może w przyszłości zaoszczędzić Wam niepotrzebnych nerwów. Nie musicie wcale pracować w zespole, aby Bundler okazał się dla Was przydatny. Może się na przykład zdarzyć, że będziecie pracować na dwóch różnych maszynach, na których warto utrzymać identyczną konfigurację. Sam przez jakiś czas tak pracowałem, ale na tamtym etapie nie wiedziałem o istnieniu Bundler’a 😩. Do następnego 🧐.

 


 

Dodaj komentarz

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