From 125848200448146b7ae008450bbe169692860ac1 Mon Sep 17 00:00:00 2001 From: Koen Van Looveren Date: Tue, 24 Sep 2024 11:09:27 +0200 Subject: [PATCH] fix: flutter build without flavor --- CHANGELOG.md | 6 +++++ .../flutter_build_android_extension.dart | 25 ++++++++++++++++--- .../build/plugin/flutter_build_plugin.dart | 12 +++++++-- 3 files changed, 37 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 91bf759..7fe107c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# 0.15.1 + +## Fix + +- Issue where flavor was still used even if it was null (flutter build) + # 0.15.0 ## Added diff --git a/lib/src/integrations/flutter/build/model/flutter_build_android_extension.dart b/lib/src/integrations/flutter/build/model/flutter_build_android_extension.dart index a5b5d5a..21f1bdb 100644 --- a/lib/src/integrations/flutter/build/model/flutter_build_android_extension.dart +++ b/lib/src/integrations/flutter/build/model/flutter_build_android_extension.dart @@ -17,13 +17,30 @@ enum FlutterBuildAndroidExtension { extension FlutterBuildAndroidExtensions on FlutterBuildAndroidExtension { Directory getBuildDirectory({String? flavor}) { + final List parts; switch (this) { case FlutterBuildAndroidExtension.apk: - return Directory( - join('build', 'app', 'outputs', 'apk', flavor, 'release')); + parts = [ + 'build', + 'app', + 'outputs', + 'apk', + if (flavor != null) flavor, + 'release', + ]; case FlutterBuildAndroidExtension.aab: - return Directory( - join('build', 'app', 'outputs', 'bundle', '${flavor}Release')); + parts = [ + 'build', + 'app', + 'outputs', + 'bundle', + if (flavor == null) ...[ + 'release', + ] else ...[ + '${flavor}Release', + ] + ]; } + return Directory(joinAll(parts)); } } diff --git a/lib/src/integrations/flutter/build/plugin/flutter_build_plugin.dart b/lib/src/integrations/flutter/build/plugin/flutter_build_plugin.dart index 6e1e231..c016e5c 100644 --- a/lib/src/integrations/flutter/build/plugin/flutter_build_plugin.dart +++ b/lib/src/integrations/flutter/build/plugin/flutter_build_plugin.dart @@ -115,8 +115,16 @@ class FlutterBuildPlugin extends ImpaktfullCliPlugin { '--build-number=$buildNr', ], ]); - final file = File(join(extension.getBuildDirectory(flavor: flavor).path, - 'app-$flavor-release.${extension.fileExtension}')); + final file = File(joinAll( + [ + extension.getBuildDirectory(flavor: flavor).path, + if (flavor == null) ...[ + 'app-release.${extension.fileExtension}', + ] else ...[ + 'app-$flavor-release.${extension.fileExtension}', + ], + ], + )); if (!file.existsSync()) { throw ImpaktfullCliError( 'After building $flavor for Android, `${file.path}` does not exists.');