flutter galleryをライブラリとして使う

まずは、pubspec.yaml

environment:
  sdk: ">=2.7.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter
  intl: ">=0.16.1 <=0.17.0"
  gallery:
    git:
      url: https://github.com/flutter/gallery

routes.dart,main.dartはほとんどそのまま使いたいが、 国際化系のプラグインに依存してるので、一緒に入れてあります。

  • l10n.yaml, lib/l10nはそのままコピー
  • pub getで国際化ファイルをジェネレイトしておく

f:id:ta_watanabe:20201203120939j:plain
ここまでのディレクトリ構成

また、main.dartからroutes.dartの読み込みや、routes.dartでのstudies配下のファイルのimportは相対パスにしておきます。

そうすると、エラーが出なくなるので、main.dartchrome(web)で実行

そうすると下記のエラーが発生

f:id:ta_watanabe:20201203135355j:plain
gallery/lib/data/demos.dartでエラー

これは、gitから落とした、demos.dartのソースが、 生成されるlocalizationのプロパティを見るが、 localizationが古いせいで起こってるエラーです。

github.com

↑で追加された

localizationを更新するには、メインプロジェクトのlibに持ってこなくちゃいけなくて、デモのソースが変わるたびにメインプロジェクトも更新しないといけない状況は、イカン。

なので、pub getする方針じゃなくて、 gitのソースをフォルダごとにsvn checkoutする方針に変更する予定