ReleaseManagerRunner constructor
ReleaseManagerRunner({
- required ReleaseManagerLogger logger,
- required ProcessService processService,
Creates a ReleaseManagerRunner.
Implementation
ReleaseManagerRunner({
required ReleaseManagerLogger logger,
required ProcessService processService,
}) : super(
'flutter_build_manager',
'A production-ready open-source Dart CLI package that manages Flutter releases.',
) {
argParser
..addFlag(
'version',
abbr: 'v',
negatable: false,
help: 'Print the current version.',
)
..addFlag(
'verbose',
help: 'Enable verbose logging.',
negatable: false,
)
..addOption(
'env',
help: 'Manually specify the environment (e.g., DEV, UAT, PROD).',
)
..addOption(
'flavor',
help: 'Manually specify the Flutter flavor.',
)
..addMultiOption(
'dart-define',
help: 'Pass dart defines (e.g., --dart-define=ENV=PROD).',
);
final projectService = ProjectService();
final versionService = VersionService(logger: logger);
final environmentService = EnvironmentService(logger: logger);
final buildCounterService = BuildCounterService();
final filenameTemplateService = FilenameTemplateService();
// New services
final flutterSdkService = FlutterSdkService(processService: processService);
final buildService = BuildService(
processService: processService,
flutterSdkService: flutterSdkService,
);
final artifactLocatorService = ArtifactLocatorService();
final artifactRenameService = ArtifactRenameService();
final releaseDirectoryService = ReleaseDirectoryService();
final metadataService = MetadataService();
final checksumService = ChecksumService();
final fileLogger = LoggerService();
final pipelineService = ReleasePipelineService(
uiLogger: logger,
projectService: projectService,
versionService: versionService,
environmentService: environmentService,
buildCounterService: buildCounterService,
filenameTemplateService: filenameTemplateService,
buildService: buildService,
artifactLocatorService: artifactLocatorService,
artifactRenameService: artifactRenameService,
releaseDirectoryService: releaseDirectoryService,
metadataService: metadataService,
checksumService: checksumService,
fileLogger: fileLogger,
);
addCommand(InitCommand(logger: logger));
addCommand(BuildCommand(pipelineService: pipelineService));
addCommand(PreviewCommand(
logger: logger,
projectService: projectService,
versionService: versionService,
environmentService: environmentService,
buildCounterService: buildCounterService,
filenameTemplateService: filenameTemplateService,
));
addCommand(ConfigCommand(logger: logger));
addCommand(ResetCommand(logger: logger));
addCommand(VersionCommand(logger: logger, versionService: versionService));
addCommand(CleanCommand(logger: logger, processService: processService, flutterSdkService: flutterSdkService));
addCommand(DoctorCommand(logger: logger, processService: processService, flutterSdkService: flutterSdkService));
}