make method
Implementation
@override
Future<MakeResult> make(
Directory appDirectory, {
required Directory outputDirectory,
Map<String, dynamic>? makeArguments,
void Function(List<int> data)? onProcessStdOut,
void Function(List<int> data)? onProcessStdErr,
}) async {
MakeConfig makeConfig = await loadMakeConfig(
outputDirectory,
makeArguments,
);
Directory packagingDirectory = makeConfig.packagingDirectory;
Process.runSync('cp', [
'-fr',
'linux/packaging/deb/.',
'${packagingDirectory.path}',
]);
Process.runSync('mkdir', [
'-p',
'${packagingDirectory.path}/usr/lib/${makeConfig.appName}/',
]);
Process.runSync('cp', [
'-fr',
'${appDirectory.path}/.',
'${packagingDirectory.path}/usr/lib/${makeConfig.appName}/',
]);
Process process = await Process.start('dpkg-deb', [
'--build',
'--root-owner-group',
'${packagingDirectory.path}',
]);
process.stdout.listen(onProcessStdOut);
process.stderr.listen(onProcessStdErr);
int exitCode = await process.exitCode;
if (exitCode != 0) {
throw MakeError();
}
packagingDirectory.deleteSync(recursive: true);
return MakeResult(makeConfig);
}