From 863f9c8077c50a8616f47abb17c9b67e0c48ae78 Mon Sep 17 00:00:00 2001 From: Armand <4831c0@proton.me> Date: Tue, 3 Mar 2026 18:15:52 +0100 Subject: [PATCH] firka_wear: add codegen script --- .../drawable-hdpi/ic_launcher_background.png | Bin 4550 -> 5310 bytes .../drawable-hdpi/ic_launcher_foreground.png | Bin 2909 -> 2963 bytes .../drawable-hdpi/ic_launcher_monochrome.png | Bin 7519 -> 7691 bytes .../main/res/mipmap-mdpi/launcher_icon.png | Bin 1968 -> 2087 bytes .../main/res/mipmap-xxhdpi/launcher_icon.png | Bin 6803 -> 7692 bytes firka_wear/flutter_launcher_icons.yaml | 2 - firka_wear/lib/l10n | 2 +- firka_wear/scripts/codegen.dart | 137 ++++++++++++++++++ 8 files changed, 138 insertions(+), 3 deletions(-) create mode 100644 firka_wear/scripts/codegen.dart diff --git a/firka_wear/android/app/src/main/res/drawable-hdpi/ic_launcher_background.png b/firka_wear/android/app/src/main/res/drawable-hdpi/ic_launcher_background.png index a4b37589b9e4ad1e752d48ea1ffaf0d52b1dab9b..791200f2308bfa6b75bf7d3c8210c52f4c238986 100644 GIT binary patch literal 5310 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 literal 4550 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 O7(8A5T-G@yGywoy0T9Um diff --git a/firka_wear/android/app/src/main/res/drawable-hdpi/ic_launcher_monochrome.png b/firka_wear/android/app/src/main/res/drawable-hdpi/ic_launcher_monochrome.png index 31e7cce7304622743f94899d8df66c9a1b5af6aa..b0dc1a54629eef0ae1489860afa47761385e6db3 100644 GIT binary patch literal 7691 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 literal 7519 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 Gp$PyAPW%f1 delta 1954 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 YUPLR;%#z>Az`(%Z>FVdQ&MBb@0AwZ}z5oCK literal 6803 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 inputs, File output) { + final outTime = _modified(output); + if (outTime == null) return true; + for (final f in inputs) { + final t = _modified(f); + if (t != null && t.isAfter(outTime)) return true; + } + return false; +} + +bool _iconsOutOfDate(String root) { + final config = File(p.join(root, 'flutter_launcher_icons.yaml')); + final pubspec = File(p.join(root, 'pubspec.yaml')); + final imagePath = File(p.join(root, 'assets/images/logos/colored_logo.png')); + final monochrome = File( + p.join(root, 'assets/images/logos/monochrome_logo.png'), + ); + final background = File( + p.join(root, 'assets/images/logos/colored_logo_without_mustache.png'), + ); + final foreground = File( + p.join(root, 'assets/images/logos/colored_logo_only_mustache.png'), + ); + + final inputs = [ + config, + pubspec, + imagePath, + monochrome, + background, + foreground, + ].where((f) => f.existsSync()).map((f) => File(p.canonicalize(f.path))); + final output = File( + p.join( + root, + 'android/app/src/main/res/mipmap-anydpi-v26/launcher_icon.xml', + ), + ); + return _anyNewerThan(inputs, output); +} + +bool _l10nOutOfDate(String root) { + final l10nDir = p.join(root, 'lib/l10n'); + final l10nYml = File(p.join(root, 'l10n.yml')); + final arbs = Directory(l10nDir) + .listSync() + .whereType() + .where((f) => f.path.endsWith('.arb')) + .map((f) => File(p.canonicalize(f.path))) + .toList(); + final inputs = [l10nYml, ...arbs].where((f) => f.existsSync()).cast(); + final output = File(p.join(root, 'lib/l10n/app_localizations.dart')); + return _anyNewerThan(inputs, output); +} + +bool _isarOutOfDate(String root) { + final modelsDir = p.join(root, 'lib/data/models'); + if (!Directory(modelsDir).existsSync()) return false; + + for (final entity in Directory(modelsDir).listSync()) { + if (entity is! File || !entity.path.endsWith('.dart')) continue; + final content = entity.readAsStringSync(); + if (!content.contains("part '") || !content.contains('.g.dart')) continue; + + final baseName = p.basenameWithoutExtension(entity.path); + final gPath = p.join(modelsDir, '$baseName.g.dart'); + final dartFile = File(p.canonicalize(entity.path)); + final gFile = File(gPath); + if (_anyNewerThan([dartFile], gFile)) return true; + } + return false; +} + +Future _run( + String executable, + List args, + String workingDirectory, +) async { + final result = await Process.run( + executable, + args, + workingDirectory: workingDirectory, + runInShell: true, + ); + if (result.exitCode != 0) { + stderr.write(result.stderr); + exit(result.exitCode); + } + return true; +}