From 6e170cb37a9340371e60c41f59e232c8b852a15a Mon Sep 17 00:00:00 2001 From: Koen Van Looveren Date: Sun, 4 Feb 2024 13:56:35 +0100 Subject: [PATCH] feat: Added a flavor & suffix for the versionbump command --- CHANGELOG.md | 6 ++++++ .../build/plugin/flutter_build_plugin.dart | 20 ++++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2bb6454..6614a9d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# 0.10.14 + +# Feat: +- Add the option to add a `flavor` to the versionbump command +- Add the option to add a `suffix`to the versionbump command + # 0.10.13 # Feat: 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 5e2802a..59951fa 100644 --- a/lib/src/integrations/flutter/build/plugin/flutter_build_plugin.dart +++ b/lib/src/integrations/flutter/build/plugin/flutter_build_plugin.dart @@ -20,7 +20,10 @@ class FlutterBuildPlugin extends ImpaktfullCliPlugin { /// Bumps the version of the app in release_config.yaml /// Commits the change & returns the build_nr of the new version - Future versionBump() async { + Future versionBump({ + String? flavor, + String? suffix, + }) async { final isGitProject = ImpaktfullCliEnvironment.isInstalled(CliTool.git); if (isGitProject) { final isGitClean = await GitUtil.isGitClean(processRunner); @@ -32,15 +35,22 @@ class FlutterBuildPlugin extends ImpaktfullCliPlugin { final file = File('release_config.json'); var newConfigData = {}; var buildNr = 0; + var buildNrKey = 'build_nr'; + if (flavor != null) { + buildNrKey += '_$flavor'; + } + if (suffix != null) { + buildNrKey += '_$suffix'; + } if (file.existsSync()) { final content = file.readAsStringSync(); final orignalConfigData = jsonDecode(content) as Map; newConfigData = orignalConfigData; - buildNr = orignalConfigData['build_nr'] as int; + buildNr = orignalConfigData[buildNrKey] as int; } buildNr++; - ImpaktfullCliLogger.debug('New build_nr: $buildNr'); - newConfigData['build_nr'] = buildNr; + ImpaktfullCliLogger.debug('New build_nr: $buildNr (for key: $buildNrKey)'); + newConfigData[buildNrKey] = buildNr; if (!file.existsSync()) { file.createSync(recursive: true); } @@ -55,7 +65,7 @@ class FlutterBuildPlugin extends ImpaktfullCliPlugin { 'git', 'commit', '-m', - 'Bump build_nr to $buildNr', + 'Bump build_nr to $buildNr (for key: $buildNrKey)', ]); } return buildNr;