yumemi-inc / flutter-mobile-project-template

MIT License
36 stars 7 forks source link

[Feature]: アプリ ID 設定についての Issue 自動生成とツールを開発する #188

Closed Kotaro666-dev closed 6 months ago

Kotaro666-dev commented 6 months ago

概要

close: #179

本 PR で対象とするアプリ ID 設定周りの変更箇所は、以下のコメントにまとめています。

https://github.com/yumemi-inc/flutter-mobile-project-template/issues/179#issuecomment-2062874553

レビュー観点

レビューレベル

レビュー優先度

画像 / 動画

UI 上の変更はないため、スキップします。

動作確認手順

以下の Markdown に記載された内容でローカル環境で実行してみてください。

https://github.com/yumemi-inc/flutter-mobile-project-template/compare/feature/179-implement-rename-application-id-tool?expand=1#diff-22ed6bde2623390ae1aa07ef45a9d539795b9f2d345987aaecd748297225aac8

動作検証時のログ

bash-3.2$ pwd
/Users/k_kamashima/flutter-mobile-project-template/scripts
bash-3.2$ bash scripts/rename-application-id.sh "com.example.rename"
Starting application ID renaming process...
[Step1] Replacing the application ID definition in the configuration JSON files within the flavor directory...
   Modifying file: /Users/k_kamashima/flutter-mobile-project-template/apps/app/flavor/dev.json
   Modifying file: /Users/k_kamashima/flutter-mobile-project-template/apps/app/flavor/prd.json
   Modifying file: /Users/k_kamashima/flutter-mobile-project-template/apps/app/flavor/stg.json
[Step2] Replacing the namespace definition in build.gradle in app module with new application ID...
[Step3] Creating new MainActivity.kt...
[Step4] Deleting old MainActivity.kt...
Application ID renaming process completed.
diff --git a/apps/app/android/app/build.gradle b/apps/app/android/app/build.gradle
index c83b57f..afc40ca 100644
--- a/apps/app/android/app/build.gradle
+++ b/apps/app/android/app/build.gradle
@@ -42,7 +42,7 @@ tasks.whenTaskAdded { task ->
 }

 android {
-    namespace "jp.co.yumemi.flutter_app"
+    namespace "com.example.rename"
     compileSdk 34
     ndkVersion flutter.ndkVersion

diff --git a/apps/app/android/app/src/main/kotlin/jp/co/yumemi/flutter_app/MainActivity.kt b/apps/app/android/app/src/main/kotlin/jp/co/yumemi/flutter_app/MainActivity.kt
deleted file mode 100644
index ccc7325..0000000
--- a/apps/app/android/app/src/main/kotlin/jp/co/yumemi/flutter_app/MainActivity.kt
+++ /dev/null
@@ -1,5 +0,0 @@
-package jp.co.yumemi.flutter_app
-
-import io.flutter.embedding.android.FlutterActivity
-
-class MainActivity: FlutterActivity()
diff --git a/apps/app/flavor/dev.json b/apps/app/flavor/dev.json
index 5ba9ec3..bf98f95 100644
--- a/apps/app/flavor/dev.json
+++ b/apps/app/flavor/dev.json
@@ -1,6 +1,6 @@
 {
     "flavor": "dev",
     "appName": "dev-Template",
-    "appId": "jp.co.yumemi.template",
+    "appId": "com.example.rename",
     "appIdSuffix": ".dev"
 }
diff --git a/apps/app/flavor/prd.json b/apps/app/flavor/prd.json
index c6dcb85..2929e00 100644
--- a/apps/app/flavor/prd.json
+++ b/apps/app/flavor/prd.json
@@ -1,6 +1,6 @@
 {
     "flavor": "prd",
     "appName": "Template",
-    "appId": "jp.co.yumemi.template",
+    "appId": "com.example.rename",
     "appIdSuffix": ""
 }
diff --git a/apps/app/flavor/stg.json b/apps/app/flavor/stg.json
index 0e7698c..d3722da 100644
--- a/apps/app/flavor/stg.json
+++ b/apps/app/flavor/stg.json
@@ -1,6 +1,6 @@
 {
     "flavor": "stg",
     "appName": "stg-Template",
-    "appId": "jp.co.yumemi.template",
+    "appId": "com.example.rename",
     "appIdSuffix": ".stg"
 }

生成される APK 解析結果

変更したアプリ ID が package 名に付与されていることを確認した

Path: apps/app/build/app/outputs/apk/debug/app-debug.apk

備考

Issue 自動生成に関しては、main マージ後に実際にテンプレートプロジェクト作成して issue が作成されるかを検証する必要があります。

github-actions[bot] commented 6 months ago

Visit the preview URL for this PR (updated for commit 2c8b38c):

https://flutter-mobile-project-template-catalog--pr188-feature-v69dln1z.web.app

(expires Mon, 29 Apr 2024 00:58:43 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 9ea56735a63d07a7cfe62eb204b0528284c37c23

github-actions[bot] commented 6 months ago

Ready for review :rocket:

iseruuuuu commented 6 months ago

僕が現状でできる限りの確認をさせていただきました🙇

動作確認の結果

以下のコマンドを実行

bash rename-application-id.sh "com.example.rename"

実行後の変化として、

そのため、「動作検証時のログ」と同じ結果になったことが確認できました。

証拠の画像

スクリーンショット 2024-04-19 15 36 44

チェック項目

iseruuuuu commented 6 months ago

懸念点(自己解決できました)

~appIdは、環境ごとにわけなくてもいいのか?~

背景

~iOSのファイルが変更されていない?~

自己理解

備考

Kotaro666-dev commented 6 months ago

@iseruuuuu CC: @tatsutakein

再レビュー依頼

再度レビューをお願いします。

背景

こちらのコミットで、新しい変更を加えました。

変更内容

本 PR で対応したシェルスクリプトを ./scripts 配下から ./tools 配下に移動した。

issue 内の提案にも tools 配下に設置する記載があったことを失念していました。

提案 自動でアプリ ID 設定できるようにツールを開発して tools 配下に置く

Kotaro666-dev commented 6 months ago

レビューありがとうございます。 マージします。

Kotaro666-dev commented 6 months ago

動作テスト結果

テンプレートプロジェクトを使ってプロジェクト生成時に issue が自動生成されることを確認した。

スクリーンショット 0006-04-25 11 11 43