generateDockerfileDev method

Future<void> generateDockerfileDev()

Generate development Dockerfile

Implementation

Future<void> generateDockerfileDev() async {
  if (!config.createServer) return;

  info('Generating Dockerfile-dev...');

  final String content =
      '''
# Development Dockerfile for ${config.serverPackageName}
# Includes Flutter SDK for debugging

FROM ubuntu:22.04

# Install dependencies
RUN apt-get update && apt-get install -y \\
  curl \\
  git \\
  unzip \\
  xz-utils \\
  zip \\
  libglu1-mesa \\
  libgtk-3-0 \\
  libblkid1 \\
  liblzma5 \\
  && rm -rf /var/lib/apt/lists/*

# Install Flutter
RUN git clone https://github.com/flutter/flutter.git /flutter
ENV PATH="/flutter/bin:\$PATH"
RUN flutter doctor
RUN flutter config --enable-linux-desktop

# Set up work directory
WORKDIR /app

# Copy models if it exists
COPY ${config.modelsPackageName}/ /${config.modelsPackageName}/

# Copy server source
COPY ${config.serverPackageName}/ /app/

# Get dependencies
RUN flutter pub get

# Copy service account key
COPY ${config.serverPackageName}/*.json ./

# Expose port
EXPOSE 8080

# Run the server in development mode
CMD ["flutter", "run", "-d", "linux"]
''';

  final File file2 = File(p.join(serverPath, 'Dockerfile-dev'));
  await file2.writeAsString(content);
  success('Generated: ${config.serverPackageName}/Dockerfile-dev');
}