Skip to content

chore: 生成物を手書きコードとして凍結する - #120

Merged
masatoi merged 1 commit into
masterfrom
freeze-generated-as-handwritten
Aug 24, 2026
Merged

masatoi merged 1 commit into
masterfrom
freeze-generated-as-handwritten

Conversation

@masatoi

@masatoi masatoi commented Aug 24, 2026

Copy link
Copy Markdown
Member

目的

ジェネレータが生成コードを Autogen 名前空間へ隔離したため (pokepay-sdk-generator #77 / master マージ済み)、ここにある 50 ファイルはもう生成されません。DO NOT EDIT マーカーを外して手書きコードとして凍結し、再生成時に消えないようにします。

再生成そのものは行いません。このPRはマーカー行を消すだけで、コードの中身は 1 行も変えていません。生成コードの追加は次のPRで行います。

なぜ必要か

ジェネレータは生成前に delete-all-generated-files でルート配下を走査し、DO NOT EDIT マーカーを持つ .swift無条件に削除します (src/core/build.lisp:94)。マーカーを付けたまま再生成すると、この 50 ファイルが消えて公開 API が失われます。

実際に master のまま再生成して確認しました。

$ pokepay-sdk-generator mobile-sdk --type ios-sdk ...
$ git status --porcelain | grep -c '^ D'
50

特に Sources/Pokepay/BankAPI.swift は手書きリクエストが使う名前空間 (BankAPI.Account など) を宣言しているため、これが消えるとモジュール全体がコンパイルできなくなります

凍結後は消えない

同じ再生成をこのブランチに対して行うと、削除は 0 件になります。

$ git status --porcelain | grep -c '^ D'
0
$ git status --porcelain
?? Sources/Pokepay/Autogen/

旧 50 ファイルは全て残り、増えるのは新しい Sources/Pokepay/Autogen/ だけです。新しい生成物はパスも型名 (Autogen.BankAPI.* / Autogen.Responses.*) も既存と衝突しないので、既存の公開 API は完全にそのままです。

変更内容

対象 件数
Sources/Pokepay/BankAPI.swift 1
Sources/Pokepay/BankAPI/{Account,CreditCard,Cvs,Jihanpi,Shop,Transaction,UserTag}/ 26
Sources/Pokepay/Responses/ 23

50 files changed, 51 deletions(-)追加行は 0 です。削除された 51 行の内訳は次のとおりで、マーカー以外は一切触っていません。

  50  -// DO NOT EDIT: File is generated by code generator.
   1  -                      (BankAPI.swift のマーカー直後にあった空行)

検証

  • swift buildBuild complete!
  • 参考: 凍結したうえで再生成し Sources/Pokepay/Autogen/ (152 ファイル) を加えた状態でも Build complete! になることを確認済みです。次のPRの先取り確認で、このPR自体には含みません。

今後の予定

  1. このPR — 旧生成物を手書きとして凍結
  2. 次のPR — Sources/Pokepay/Autogen/ に生成コードを追加

なお #119 は 1 と 2 を 1 本にまとめたものです。このPRとの重複になるので、こちらがマージされたら閉じるか作り直します。

🤖 Generated with Claude Code

ジェネレータが Autogen 名前空間へ移行した (pokepay-sdk-generator #77) ため、
これらのファイルはもう生成されない。DO NOT EDIT マーカーを外して手書き扱いに
することで、再生成時に消えないようにする。

ジェネレータは生成前に delete-all-generated-files でルート配下を走査し、
DO NOT EDIT マーカーを持つ .swift を無条件に削除する。マーカーを付けたまま
再生成すると、この 50 ファイルが消えて公開 API が失われる。特に BankAPI.swift は
手書きリクエストが使う名前空間 (BankAPI.Account など) を宣言しているため、
これが消えるとモジュール全体がコンパイルできなくなる。

以後この 50 ファイルは手書きコードとして扱う。新しい生成物は
Sources/Pokepay/Autogen/ 以下に出るため、パスも型名も衝突しない。

変更はマーカー行の削除のみ (BankAPI.swift は直後の空行も一緒に落とした)。
コードの中身は 1 行も変えていない。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@masatoi
masatoi requested a review from cxxxr August 24, 2026 03:57
@masatoi
masatoi merged commit aea7944 into master Aug 24, 2026
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.

2 participants