pub.devに登録されているライブラリを使うのはpubspec.yamlにパッケージ名とバージョンを指定すれば自動的に解決してくれる。しかし、Closedな自社ライブラリってどうやって使えばいいのか分からなかったので調べてみた。
ソースの種類
pubspecでは次の4つをソースとして扱える。
- SDK
- Hosted packages
- Git packages
- Path packages
SDK
SDKはFlutterくらいしかないので使うのはHosted packagesかGit packages、Path packagesのいずれか。
Hosted packages
pub.devで使うやつ。
Git packages
Gitを使えるなら何でもいい。試していけたのはGithubとBitbucket、AWS CodeCommitの3つ。
ref要素は特定のタグを指定する場合に用いる。下記の例ではバージョン指定にしているが、文字列でも大丈夫。
...省略
dependencies:
パッケージ名:
git:
url: https://...
ref: ^1.0.0
...省略
Path packages
ローカルドライブやネットワークドライブ等、直接ファイルにアクセスできる場合の指定方法。path要素にファイルパスを書けばいい。Windowsの場合は「バックスラッシュ」でなく「スラッシュ」で指定したほうがよいと思う。
...省略
dependencies:
パッケージ名:
path: /path/to/パッケージ名.dart
...省略
まとめ
バージョン管理するから基本的にはGit packagesを利用することになると思うけども、ガチガチのSI案件なら外部にデータを置いたりしないこともあるだろうからパス指定で利用できるのはいいなと思った。
まあ、ガチガチのSI案件でDartなんかを使うことなんてないとおもうけども。
参考
やっぱり公式が一番詳しく書いてある。
https://dart.dev/tools/pub/dependencies