Flutter İzmir
Published in

Flutter İzmir

Flutter’da pubspec.yaml Üzerinden Script Çalıştırmak

Yakın zamanda React Native projesi üzerinde çalışma fırsatı buldum ve package.json’a, projeyi temizlemekten, çıktıyı Testflight’a yüklemeye kadar çeşitli ve yararlı script’ler yazdıklarını gördüm. Bu, Flutter projelerinde de çok yardımcı olabilirdi.

Hızlı bir aramayla GitHub issue’suna rastgeldim fakat fazla bir şey yoktu. pub.dev’e baktığımda ise 2–3 alternatif gördüm.
Bu alternatifler: derry, rps, and flutter_scripts.

Run Pubspec Script (RPS)

rps işimi gördü ve kullanımı kolay.

Öncelikle paketi yükleyin, dart’ı yüklemeniz de gerekiyor. Dart yüklü ise, böyle aktif edebilirsiniz.

dart pub global activate rps

Sonrasında pubspec.yaml’a scriptleri ekliyoruz. Dosyada herhangi bir yerde olabilir, ben dependencies’in üstüne ekledim. Indentation, paragraf başları burada önemli. scripts:, dependencies ile aynı hizada olmalı. Neden bazı scriptlerin daha da içeride olduğuna değineceğiz.

“run” satırında olduğu gibi direkt komutu da yazabilirsiniz, veya dosyayı da verebilirsiniz. Ben scripts isminde bir klasöre koydum.

“./scripts/firebase/android.sh”

Sonrasında misal “gen” scriptini çalıştırmak istiyorsunuz, Terminal’de çalıştırmanız gereken aşağıdaki:

rps gen

İçiçe Scriptler

Ekran görüntüsünde görebileceğiniz üzere, bazı scriptlerin karşısı boş ve altındaki script bir tık içeride. Bunlar nested, içiçe scriptler.

Firebase App Distribution için, development flavor’ıyla bir build almak istiyorsam, kullanmak istediğim script, firebase’in altındaki ios’un altındaki dev’in karşısında.

İçiçe scriptleri böyle çalıştırabilirim:

rps firebase ios dev

Scriptleri koyduğum yer, anadizindeki scripts klasörü. lib ve test dosyaları ile aynı dizinde, fakat burası size kalmış. Uzun uzun komutlar yerine, ben dosyayı vermeyi tercih ettim.

Umarım size, projenize ve takım arkadaşlarınıza faydalı olur.
İletişim için: https://mirkancaliskan.com/contact

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store