본문 바로가기
flutter

infinity_scroll_shell 오픈소스 배포 과정 기록

by Rogan_Kim 2024. 9. 18.
728x90

https://pub.dev/packages/infinity_scroll_shell

 

infinity_scroll_shell | Flutter package

A Flutter widget that simplifies infinite scrolling implementation with built-in data fetching and scroll-to-top functionality.

pub.dev

 

계기

추석에 뭐 하지? 뭔가 내 활동을 남기고 싶은데?라는 고민을 하다가,  개발자 첫 취직을 도왔던, 오픈소스 개발을 하나 더  해볼까?라는 생각이 들어 도전해 보았다.

 

 

과정

배포할 기능은 현업에서 내가 구현한 기능을 모듈화 하여 진행하였다.

나름 3개월 이상 문제 없이 동작해서 배포해도 된다고 판단하였다.

한번 해 봤던 과정이라 그런지 (+ 모르면 gpt 요약) 어려움 없이 3시간 만에 성공한 것 같다.

 

 

1. 프로젝트 생성

flutter create --template=package my_flutter_library

 

위의 명령어로 초기 템플릿을 쉽게 구현할 수 있다.

 

그러면 Flutter 3.24.0, dart 3.5.0 기준으로 아래와 같은 tree를 가진 파일을 생성하게 될 것이다.

├── CHANGELOG.md
├── LICENSE
├── README.md
├── analysis_options.yaml
├── lib
│   └── my_library.dart
├── my_library.iml
├── pubspec.lock
├── pubspec.yaml
└── test
    └── my_library_test.dart

 

 

 

2. 라이브러리 구현 및 테스트 코드 작성, 그리고 exmaple

 

lib/my_library.dart에 모듈화진행할 코드를 추가하기만 하면  구현은 끝이다.

그리고 테스트 코드도 작성해주면 좋다.

infinity_scroll_shell에는 스크롤 방향에 따라 Fab 버튼을 활성화하는 기능이 있는데,

테스트 코드에서 해당 동작을 테스트할 수가 없어서 widget이 잘 렌더링 되었는지에 대해만 테스트 코드를 작성하였다.

(방법은 시간 날 때마다 찾고 있는 중,,,)

 

exmaple 코드에는 제작자(내)가 의도한 사용 방법에 대해 간단하게 코드를 추가하였다.

 

아직 초기 라이브러리라 프로젝트 구조를 바로 알 수 있을 것이다.

https://pub.dev/packages/infinity_scroll_shell

 

infinity_scroll_shell | Flutter package

A Flutter widget that simplifies infinite scrolling implementation with built-in data fetching and scroll-to-top functionality.

pub.dev

 

 

3. 배포 전 CHANGELOG, LICENSE 기록

 

CHANGELOG는 pub.dev에 올라올 내용이니 패키지 업데이트시마다 기록하게 될 것이고,

LICENSE는 MIT LICENSE로 명시하였다.

 

 

4. 배포

그다음 아래의 명령어로 배포를 시도하였고, 중간에 부족한 부분 혹은 필요한 권한은 요청하니 터미널에서 요구하는 대로 따라 하면 쉽게 할 수 있다.

❯ dart pub publish

 

 

 

이상으로 이번 포스트를 마치겠습니다.

감사합니다.

 

 

 

 

728x90

댓글