moveAssets method
dynamic
moveAssets()
Implementation
moveAssets() async {
for (final dirName in assets.directories) {
final sourceDir = Directory(p.join(assets.source, dirName));
final destDir = Directory(p.join(outputDir.path, dirName));
if (!sourceDir.existsSync()) {
stderr.writeln(
AnsiStyles.red("⚠ missing asset directory [${sourceDir.path}]"));
continue;
}
for (final entity in sourceDir.listSync(recursive: true)) {
if (entity is File) {
final relative = p.relative(entity.path, from: sourceDir.path);
final targetFile = File(p.join(destDir.path, relative));
targetFile.createSync(recursive: true);
targetFile.writeAsBytesSync(entity.readAsBytesSync());
if (shouldCompress) {
await _compress(targetFile.path);
print(
"${AnsiStyles.cyan("✔ copied asset:\n")}"
"${AnsiStyles.magenta("\t ◉ [${entity.path} ${AnsiStyles.cyanBright.bold("${_getSize(entity.path)}kb")}] ->\n")}"
"${AnsiStyles.magenta("\t ◉ [${targetFile.path} ${AnsiStyles.cyanBright.bold("${_getSize(targetFile.path)}kb")}]\n")}"
);
} else {
print(
"${AnsiStyles.cyan("✔ copied asset: ")}${AnsiStyles.magenta("[${entity.path} -> ${targetFile.path}]")}");
}
}
}
}
}