| 
									
										
										
										
											2024-07-08 13:45:57 +08:00
										 |  |  | #!/usr/bin/env bash
 | 
					
						
							| 
									
										
										
										
											2023-07-03 04:07:11 -10:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-13 16:13:33 +08:00
										 |  |  | set -e | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # check the cost time | 
					
						
							|  |  |  | start_time=$(date +%s) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # read the arguments to skip the pub get and package get | 
					
						
							|  |  |  | skip_pub_get=false | 
					
						
							|  |  |  | skip_pub_packages_get=false | 
					
						
							|  |  |  | verbose=false | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Parse command line arguments | 
					
						
							|  |  |  | while [[ $# -gt 0 ]]; do | 
					
						
							|  |  |  |     case "$1" in | 
					
						
							|  |  |  |     --skip-pub-get) | 
					
						
							|  |  |  |         skip_pub_get=true | 
					
						
							|  |  |  |         shift | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     --skip-pub-packages-get) | 
					
						
							|  |  |  |         skip_pub_packages_get=true | 
					
						
							|  |  |  |         shift | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     --verbose) | 
					
						
							|  |  |  |         verbose=true | 
					
						
							|  |  |  |         shift | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     --exclude-packages) | 
					
						
							|  |  |  |         shift | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     *) | 
					
						
							|  |  |  |         echo "Unknown option: $1" | 
					
						
							|  |  |  |         exit 1 | 
					
						
							|  |  |  |         ;; | 
					
						
							|  |  |  |     esac | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | echo "🌍 Start generating language files." | 
					
						
							| 
									
										
										
										
											2023-07-03 04:07:11 -10:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Store the current working directory | 
					
						
							|  |  |  | original_dir=$(pwd) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | cd "$(dirname "$0")" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Navigate to the project root | 
					
						
							|  |  |  | cd ../../../appflowy_flutter | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-11 19:27:40 +07:00
										 |  |  | # copy the resources/translations folder to | 
					
						
							| 
									
										
										
										
											2023-08-01 14:19:45 +08:00
										 |  |  | # the appflowy_flutter/assets/translation directory | 
					
						
							|  |  |  | rm -rf assets/translations/ | 
					
						
							|  |  |  | mkdir -p assets/translations/ | 
					
						
							|  |  |  | cp -f ../resources/translations/*.json assets/translations/ | 
					
						
							| 
									
										
										
										
											2023-07-11 19:27:40 +07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-03-05 17:20:27 +08:00
										 |  |  | # the ci alwayas return a 'null check operator used on a null value' error. | 
					
						
							|  |  |  | # so we force to exec the below command to avoid the error. | 
					
						
							|  |  |  | # https://github.com/dart-lang/pub/issues/3314 | 
					
						
							| 
									
										
										
										
											2024-08-13 16:13:33 +08:00
										 |  |  | if [ "$skip_pub_get" = false ]; then | 
					
						
							|  |  |  |     if [ "$verbose" = true ]; then | 
					
						
							|  |  |  |         flutter pub get | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         flutter pub get >/dev/null 2>&1 | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | if [ "$skip_pub_packages_get" = false ]; then | 
					
						
							|  |  |  |     if [ "$verbose" = true ]; then | 
					
						
							|  |  |  |         flutter packages pub get | 
					
						
							|  |  |  |     else | 
					
						
							|  |  |  |         flutter packages pub get >/dev/null 2>&1 | 
					
						
							|  |  |  |     fi | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2023-07-03 04:07:11 -10:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-13 16:13:33 +08:00
										 |  |  | if [ "$verbose" = true ]; then | 
					
						
							|  |  |  |     dart run easy_localization:generate -S assets/translations/ | 
					
						
							|  |  |  |     dart run easy_localization:generate -f keys -o locale_keys.g.dart -S assets/translations/ -s en.json | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  |     dart run easy_localization:generate -S assets/translations/ >/dev/null 2>&1 | 
					
						
							|  |  |  |     dart run easy_localization:generate -f keys -o locale_keys.g.dart -S assets/translations/ -s en.json >/dev/null 2>&1 | 
					
						
							|  |  |  | fi | 
					
						
							| 
									
										
										
										
											2023-07-03 04:07:11 -10:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2024-08-13 16:13:33 +08:00
										 |  |  | echo "🌍 Done generating language files." | 
					
						
							| 
									
										
										
										
											2023-07-03 04:07:11 -10:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Return to the original directory | 
					
						
							|  |  |  | cd "$original_dir" | 
					
						
							| 
									
										
										
										
											2024-08-13 16:13:33 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | # echo the cost time | 
					
						
							|  |  |  | end_time=$(date +%s) | 
					
						
							|  |  |  | cost_time=$((end_time - start_time)) | 
					
						
							|  |  |  | echo "🌍 Language files generation cost $cost_time seconds." |