From a3449975575d7c0a1ad3c9b108edf815d52f5fed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Harrault?= <benoit@harrault.fr> Date: Wed, 28 Feb 2024 22:46:42 +0100 Subject: [PATCH] Avoid print calls in production code --- android/gradle.properties | 4 ++-- .../metadata/android/en-US/changelogs/15.txt | 1 + .../metadata/android/fr-FR/changelogs/15.txt | 1 + lib/entities/tile.dart | 2 +- lib/utils/board_utils.dart | 11 +++++---- lib/utils/game_utils.dart | 23 ++++++++++--------- lib/utils/tools.dart | 7 ++++++ pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 9 files changed, 33 insertions(+), 22 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/15.txt create mode 100644 fastlane/metadata/android/fr-FR/changelogs/15.txt create mode 100644 lib/utils/tools.dart diff --git a/android/gradle.properties b/android/gradle.properties index 81949df..957c40b 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -1,5 +1,5 @@ org.gradle.jvmargs=-Xmx1536M android.useAndroidX=true android.enableJetifier=true -app.versionName=0.0.14 -app.versionCode=14 +app.versionName=0.0.15 +app.versionCode=15 diff --git a/fastlane/metadata/android/en-US/changelogs/15.txt b/fastlane/metadata/android/en-US/changelogs/15.txt new file mode 100644 index 0000000..52f2179 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/15.txt @@ -0,0 +1 @@ +Avoid print calls in production code. diff --git a/fastlane/metadata/android/fr-FR/changelogs/15.txt b/fastlane/metadata/android/fr-FR/changelogs/15.txt new file mode 100644 index 0000000..8537dac --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/15.txt @@ -0,0 +1 @@ +Supprime les appels à print dans le code de production. diff --git a/lib/entities/tile.dart b/lib/entities/tile.dart index 64227e6..c9d585d 100644 --- a/lib/entities/tile.dart +++ b/lib/entities/tile.dart @@ -46,7 +46,7 @@ class Tile { }, onAcceptWithDetails: (DragTargetDetails<List<int>> source) { List<int> target = [currentCol, currentRow]; - // print('(drag) Pick from ' + source.toString() + ' and drop on ' + target.toString()); + // printlog('(drag) Pick from ' + source.toString() + ' and drop on ' + target.toString()); if (GameUtils.isMoveAllowed(myProvider, source.data, target)) { GameUtils.move(myProvider, source.data, target); } diff --git a/lib/utils/board_utils.dart b/lib/utils/board_utils.dart index 53ae2eb..19754fb 100644 --- a/lib/utils/board_utils.dart +++ b/lib/utils/board_utils.dart @@ -2,6 +2,7 @@ import 'dart:math'; import 'package:solitaire_game/entities/tile.dart'; import 'package:solitaire_game/provider/data.dart'; +import 'package:solitaire_game/utils/tools.dart'; class BoardUtils { static printGrid(List cells) { @@ -9,8 +10,8 @@ class BoardUtils { String textHole = '·'; String textPeg = 'o'; - print(''); - print('-------'); + printlog(''); + printlog('-------'); for (int rowIndex = 0; rowIndex < cells.length; rowIndex++) { String row = ''; for (int colIndex = 0; colIndex < cells[rowIndex].length; colIndex++) { @@ -21,10 +22,10 @@ class BoardUtils { } row += textCell; } - print(row); + printlog(row); } - print('-------'); - print(''); + printlog('-------'); + printlog(''); } static List<List<Tile?>> createBoardFromSavedState(Data myProvider, String savedBoard) { diff --git a/lib/utils/game_utils.dart b/lib/utils/game_utils.dart index 7b99a81..cd0c5ea 100644 --- a/lib/utils/game_utils.dart +++ b/lib/utils/game_utils.dart @@ -1,6 +1,7 @@ import 'package:solitaire_game/entities/tile.dart'; import 'package:solitaire_game/provider/data.dart'; import 'package:solitaire_game/utils/board_utils.dart'; +import 'package:solitaire_game/utils/tools.dart'; class GameUtils { static Future<void> quitGame(Data myProvider) async { @@ -13,7 +14,7 @@ class GameUtils { } static Future<void> startNewGame(Data myProvider) async { - print('Starting game'); + printlog('Starting game'); BoardUtils.createNewBoard(myProvider); @@ -36,7 +37,7 @@ class GameUtils { myProvider.updateGameIsRunning(true); } catch (e) { - print('Failed to resume game. Will start new one instead.'); + printlog('Failed to resume game. Will start new one instead.'); myProvider.resetCurrentSavedState(); myProvider.initParametersValues(); startNewGame(myProvider); @@ -49,7 +50,7 @@ class GameUtils { } static bool isMoveAllowed(Data myProvider, List<int> source, List<int> target) { - // print('(test) Pick from ' + source.toString() + ' and drop on ' + target.toString()); + // printlog('(test) Pick from ' + source.toString() + ' and drop on ' + target.toString()); List<List<Tile?>> board = myProvider.board; int sourceCol = source[0]; int sourceRow = source[1]; @@ -61,39 +62,39 @@ class GameUtils { sourceRow > (myProvider.boardSize - 1) || sourceCol < 0 || sourceCol > (myProvider.boardSize - 1)) { - // print('move forbidden: source is out of board'); + // printlog('move forbidden: source is out of board'); return false; } if (targetRow < 0 || targetRow > (myProvider.boardSize - 1) || targetCol < 0 || targetCol > (myProvider.boardSize - 1)) { - // print('move forbidden: target is out of board'); + // printlog('move forbidden: target is out of board'); return false; } // ensure source exists and has a peg if (board[sourceRow][sourceCol] == null || board[sourceRow][sourceCol]?.hasPeg == false) { - // print('move forbidden: source peg does not exist'); + // printlog('move forbidden: source peg does not exist'); return false; } // ensure target exists and is empty if (board[targetRow][targetCol] == null || board[targetRow][targetCol]?.hasPeg == true) { - // print('move forbidden: target does not exist or already with a peg'); + // printlog('move forbidden: target does not exist or already with a peg'); return false; } // ensure source and target are in the same line/column if ((targetCol != sourceCol) && (targetRow != sourceRow)) { - // print('move forbidden: source and target are not in the same line or column'); + // printlog('move forbidden: source and target are not in the same line or column'); return false; } // ensure source and target are separated by exactly one tile if (((targetCol == sourceCol) && ((targetRow - sourceRow).abs() != 2)) || ((targetRow == sourceRow) && ((targetCol - sourceCol).abs() != 2))) { - // print('move forbidden: source and target must be separated by exactly one tile'); + // printlog('move forbidden: source and target must be separated by exactly one tile'); return false; } @@ -101,7 +102,7 @@ class GameUtils { int middleRow = (sourceRow + ((targetRow - sourceRow) / 2)).round(); int middleCol = (sourceCol + ((targetCol - sourceCol) / 2)).round(); if (board[middleRow][middleCol] == null || board[middleRow][middleCol]?.hasPeg == false) { - // print('move forbidden: tile between source and target does not contain a peg'); + // printlog('move forbidden: tile between source and target does not contain a peg'); return false; } @@ -110,7 +111,7 @@ class GameUtils { } static void move(Data myProvider, List<int> source, List<int> target) { - print('Move from $source to $target'); + printlog('Move from $source to $target'); int sourceCol = source[0]; int sourceRow = source[1]; int targetCol = target[0]; diff --git a/lib/utils/tools.dart b/lib/utils/tools.dart new file mode 100644 index 0000000..fd48b2b --- /dev/null +++ b/lib/utils/tools.dart @@ -0,0 +1,7 @@ +import 'package:flutter/foundation.dart'; + +void printlog(String message) { + if (!kReleaseMode) { + debugPrint(message); + } +} diff --git a/pubspec.lock b/pubspec.lock index 394474f..6b1fdfe 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -151,10 +151,10 @@ packages: dependency: "direct main" description: name: provider - sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096" + sha256: c8a055ee5ce3fd98d6fc872478b03823ffdb448699c6ebdbbc71d59b596fd48c url: "https://pub.dev" source: hosted - version: "6.1.1" + version: "6.1.2" shared_preferences: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index ea8a53b..c0d1f0f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: solitaire_game description: Solitaire Game publish_to: 'none' -version: 0.0.14+14 +version: 0.0.15+15 environment: sdk: '^3.0.0' -- GitLab