Skip to content

chore(fork): rename applicationId, drop Firebase, release v1.2.27-dp1 - #4

Merged
doublepi123 merged 4 commits into
mainfrom
feat/rename-application-id
Oct 16, 2026
Merged

doublepi123 merged 4 commits into
mainfrom
feat/rename-application-id

Conversation

@doublepi123

@doublepi123 doublepi123 commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Fork-only changes (doublepi123/and-code):

  • applicationId: com.yugahashimoto.andcode -> com.doublepi123.andcode (namespace / Kotlin packages unchanged, so it installs side by side with upstream and stays easy to sync)
  • No Firebase in any build: the google-services / crashlytics plugins are never applied, the Firebase dependencies are removed, and the github flavor compiles the fdroid no-op CrashReporter / AnalyticsReporter. Nothing is sent to upstream's Firebase project. google-services.json is unchanged from upstream.
  • benchmark module targets the new package
  • versionName / .release-version -> 1.2.27-dp1, triggering the signed release on merge (fork's own signing key in repo secrets)
  • release.yml: missing AND_CODE_GITHUB_CLIENT_ID is a warning instead of a failure (in-app GitHub sign-in unavailable)
  • fdroid-repository.yml: only publish from the upstream repository

Pre-PR review

判定: APPROVE

ブロッカー

なし

提案(非ブロッキング)

  • app/src/main/assets/legal/privacy.md:116-143、privacy.ja.md:46-49、third_party_services.md:21-22、third_party_services.ja.md:17、oss_licenses.md:119 — アプリ内の法務文書は「リリースビルドは Firebase Crashlytics に送信する」「Analytics は opt-in」のままです。この fork の github APK は実際にはどこにも送信しません。説明が実態より多く開示している方向のずれなので害は小さいものの、不正確です。fork のリリースノートか README に「この fork は Firebase を含まない」と書くか、assets の文書をそれに合わせて直すことを勧めます。
  • app/src/main/java/com/yugahashimoto/andcode/feature/settings/SettingsScreenV2.kt:346-351 — Analytics トグルは何もしないまま残ります(質問4)。ただし upstream の fdroid flavor も同じ no-op の AnalyticsReporter で同じトグルを表示しており、既存の扱いと変わらないので回帰ではありません。値は SecureSettingsRepository に保存されるだけで、送信経路はありません。upstream と同期しやすいことを優先するなら、このままで構いません。気になるなら BuildConfig.FLAVOR などで非表示にする選択肢がありますが、upstream との差分が増えます。
  • app/src/github/java/.../AnalyticsReporter.kt、CrashReporter.kt — setSrcDirs によってコンパイル対象から外れるだけで、ファイルは残ります。Firebase の import を含んでいるため、IDE では解決できないファイルに見えます。upstream と同期するときの衝突を避けるために残すのは合理的です。必要なら app/build.gradle.kts:227 のコメントに「src/github/java は意図的に未使用」と一言加えておくと、後で読む人が迷いません。
  • docs/RELEASE.md:122-125 — 「andcode.fdroidBuild=true が google-services/crashlytics の apply を飛ばす」という説明が古くなりました。fork 専用のドキュメントを持つなら更新してください。

チェック済み項目

  • Firebase 参照の残り(質問1):app/src 全体で com.google.firebase / com.google.android.gms を検索しました。コードでヒットしたのは src/github/java の 2 ファイルだけで、main / test / androidTest には文書以外の参照がありません。src/testGithub などの flavor 別テスト用ソースセットもありません。AndCodeApplication.kt:243,255,531-550 と AppPreferencesRepository.kt:337 から呼ばれるメソッドは、src/fdroid/java の no-op 実装にすべて同じシグネチャで存在します(install(context, enabled)、setEnabled、record*、log、recordException(error, message, customKeys))。
  • setSrcDirs の効き方(質問1):KGP 2.0.21 のソースで確認しました。KotlinAndroidJavaSourceDirConfigurator は androidSourceSet.java.getSourceDirectoryTrees() を provider 経由で遅延評価して Kotlin のソースセットに加えます。そのため setSrcDirs の結果が反映され、src/github/java は Kotlin のコンパイルからも外れます。src/github/kotlin は存在しないので、クラスが二重に定義されることはありません。productFlavors {} は sourceSets {} より前に評価されるので、getByName("github") も解決できます。spotless(ktlint)は構文しか見ないため、未使用ファイルの import は問題になりません。
  • -Pandcode.fdroidBuild=true(質問2):app/build.gradle.kts 全体を読み、andcode.fdroidBuild を参照する箇所がもう無いことを確認しました。未使用の Gradle プロパティとして無視されるだけで無害です。google-services / crashlytics プラグインはどの経路でも apply されなくなり、fdroid flavor の出力も以前の「フラグあり」のときと同じになります。
  • proguard と manifest(質問3):proguard-rules.pro:67-69 の -keep / -dontwarn は、一致するクラスが無くても R8 のエラーにはなりません。AndroidManifest.xml:65-67 の meta-data は、読む SDK が無いので単に使われないエントリになります。どちらも無害です。
  • 依存関係:githubImplementation の firebase-bom / analytics / crashlytics の宣言は残っていません。build.gradle.kts 直下の apply false 宣言は、クラスパスに読み込まれるだけで副作用はありません。
  • google-services.json:client は upstream の com.yugahashimoto.andcode 1 件だけで、前回レビュー時の origin/main と同じ内容です。プラグインが apply されないので、ビルドでは読まれません。
  • バージョン:versionName = "1.2.27-dp1" と .release-version の v1.2.27-dp1 が一致し、versionCode = 66 も ReleaseMetadataTest.kt:12-13 の期待値と合っています。
  • ワークフロー:fdroid-repository.yml:26 に repository のガードがあることを確認しました。release.yml:80-83 は前回承認した warning 化のままです。
  • applicationId 周り:benchmark の targetPackage / queries / packageName が com.doublepi123.andcode に揃っていることを確認しました。authority、Intent、データパスの観点は前回の確認から変わっていません。
  • 差分の範囲について:shell の実行が拒否されたため、git diff で差分を出すことはできませんでした。代わりに、報告されたコミットの内容ごとに該当ファイルを直接読んで確認しています。i18n と Kotlin の機能コードに変更はありません。

- google-services.json: the com.doublepi123.andcode client uses a placeholder
  app id/API key instead of upstream's, so nothing reaches upstream's project
- disable Crashlytics mapping-file upload tasks
- versionName 1.2.27-dp1 to match .release-version (ReleaseMetadataTest)
- only publish the F-Droid repository from the upstream repository
@doublepi123
doublepi123 force-pushed the feat/rename-application-id branch from 05e7034 to 9f88e59 Compare October 16, 2026 17:33
The fork has no Firebase project of its own, so it must not send crash or
analytics data to upstream's. Remove the Firebase dependencies, never apply
the google-services/crashlytics plugins, restore upstream's
google-services.json untouched, and build the github flavor with the
fdroid no-op diagnostics reporters.
@doublepi123 doublepi123 changed the title chore: rename applicationId to com.doublepi123.andcode and release v1.2.27-dp1 chore(fork): rename applicationId, drop Firebase, release v1.2.27-dp1 Oct 16, 2026
@doublepi123
doublepi123 merged commit 155f7c9 into main Oct 16, 2026
6 checks passed
@doublepi123
doublepi123 deleted the feat/rename-application-id branch October 16, 2026 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant