body method
Defines the actual body code. path is passed relative to lib, baseName is the filename, and className is the filename converted to Pascal case.
実際の本体コードを定義します。pathにlibからの相対パス、baseNameにファイル名が渡され、classNameにファイル名をパスカルケースに変換した値が渡されます。
Implementation
@override
String body(String path, String baseName, String className) {
return """
FROM ubuntu:24.04
ARG FLUTTER_VERSION=$flutterVersion
ENV FLUTTER_VERSION=\$FLUTTER_VERSION
RUN apt-get update && apt-get install -y \\
curl \\
git \\
unzip \\
xz-utils \\
zip \\
libglu1-mesa \\
&& rm -rf /var/lib/apt/lists/*
RUN curl -o flutter.tar.xz https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_\$FLUTTER_VERSION-stable.tar.xz \\
&& mkdir -p /usr/local/flutter \\
&& tar -xf flutter.tar.xz -C /usr/local/flutter --strip-components=1 \\
&& git config --global --add safe.directory /usr/local/flutter \\
&& rm flutter.tar.xz
ENV PATH="/usr/local/flutter/bin:\$PATH"
RUN flutter doctor --android-licenses || true && flutter doctor || true
RUN flutter pub global activate katana_cli
ENV PATH="\$PATH:/root/.pub-cache/bin"
RUN katana --version || echo "katana version check failed"
CMD ["flutter", "--version"]
""";
}