Flutter : การ publish plugin ใน pub.dev
สวัสดีผู้อ่านครับ บล็อกนี้พามาลองเล่นการ publish plugin สำหรับ Flutter ใน pub.dev เพื่อให้ developer คนอื่นๆ สามารถดาวน์โหลดมาใช้งานได้ผ่าน pubspec.yaml ซึ่งใน Flutter จะเรียก library ที่ใช้กับ Flutter เท่านั้น (เช่นใช้ Method channel) ว่า plugin แต่หากเป็น dart เพียวๆ จะเรียกว่า package
เริ่มต้น
Android Studio ไปที่ New Flutter Project เลือก Flutter Plugin
โครงสร้างโปรเจคที่ได้คือ โปรเจค Flutter ปกติ แต่จะมีโฟลเดอร์โปรเจค example ซ้อนด้านในอีกที การทำงานคือให้เราเขียนใน lib/main.dart แล้วให้ example/lib/main.dart ลองเรียกใช้งานนั่นเอง ดังนั้นเวลาเราจะรันเพื่อลองใช้งาน plugin จะรันใน example
โดยถ้าสร้างจาก Android Studio จะได้โปรเจคต้นแบบประมาณนี้ คือมีตัวอย่างการใช้ Method channel มาให้
Publish
สมมุติเวลาเราทำ plugin เสร็จแล้ว ถึงเวลาอัพโหลด สิ่งที่เราต้องเพิ่มคือ ไปเขียนรายละเอียดใน pubspec.yaml ให้ใส่รายละเอียด เช่น ชื่อร ายละเอียด เวอร์ชัน ชื่อ อีเมล และเว็บไซต์ เช่น Github
name: flutter_custom_error_page
description: Plugin for custom error page.
version: 0.1.1
author: benznest <benz7net@gmail.com>
homepage: https://github.com/benznest/flutter_custom_error_page
จากนั้นไปที่ไฟล์ CHNAGELOG.md ให้ใส่รายละเอียดเวอร์ชันของเราว่ามีอะไรเปลี่ยนแปลงบ้าง
## 0.0.1
* TODO: Describe initial release.
อีกไฟล์คือ LICENSE ให้ใส่รายละเอียด license เช่น Apache , MIT
TODO: Add your license here.
ถึงขั้นตอน publish แล้วให้เปิด cmd ขึ้นมา รัน command dry run ดังนี้ เพื่อเช็ค error หรือ warning ก่อน publish
$ flutter packages pub publish --dry-run
หากไม่มี warning ก็ให้รัน command publish จริงๆ
$ flutter packages pub publish
การ publish ครั้งแรก เราจะได้ URL มา ให้เรา copy แล้วไปเปิดใน browser
จากนั้นจะมีหน้าให้เราล็อคอินโดยใช้ gmail เสร็จแล้วก็จะขึ้นว่า Successfully
รอสักพักจะได้รับ email ว่า plugin ของเรา publish แล้ว
หากเราจะอัพเดท plugin ก็แค่เพิ่มเลขเวอร์ชันใน pubspec.yaml และเพิ่ม CHANGELOG จากนั้นก็รันคำสั่งเดียวกัน
$ flutter packages pub publish