-
Notifications
You must be signed in to change notification settings - Fork 205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
整理: requirements-license.txt
を廃止
#1281
整理: requirements-license.txt
を廃止
#1281
Conversation
完全な一長一短になっており、判断ができないなと感じました! 折衷案として、requirementsの内容をgrepしてインストールするのはどうでしょうか。 pip install <(cat requirements.txt | grep poetry) |
意図を掴みそこねました🙇(bash ムズカシイ…🥺) |
ああすみません! まず 前回のコメントはなぜかrequirements.txtから pip install <(cat requirements-dev.txt | grep pip-licenses) |
👍️ @Hiroshiba |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!
requirementsのtestがdevにリネームされた関係でコンフリクトが発生してしまったかもです 🙇
@Hiroshiba |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!!
おまたせしました!!
requirementsダルマ落とし、あと1段ですね!!!
内容
概要:
requirements-license.txt
を廃止してリファクタリング現在の VOICEVOX ENGINE は依存パッケージを poetry で管理し、それを pip 用にエクスポートしている。
依存パッケージのライセンスリストを生成する際にはエクスポートされた
requirements.txt
が利用されるが、更にライセンス生成パッケージであるpip-license
が必要である。つまりライセンス生成にはpip install -r requirements.txt && pip install pip-license==4.4.0
のコマンドが必要になる。この手間を省くため、VOICEVOX ENGINE ではパッケージ group
license
を設定している。これはpip-license=^4.4.0
のみからなる group であり、エクスポートするとrequirements.txt
内容 +pip-license
が記録される。これを用いればライセンス生成時にpip install -r requirements-license.txt
のみで完結する。これは便利であるが、
pip install pip-license==4.4.0
の記述を消すためにrequirements-license.txt
という追加ファイルを生み出している。このファイルの立ち位置を理解し、都度更新し、ビルド時の移動コマンドを正しく設定し、管理し続けるコストは低くない。
現状、記述削減メリットより管理コストが上回っていると考える(参照: 本 PR での削減量)。
すなわち、group
license
の仕組みは過剰である。このような背景から、
requirements-license.txt
を廃止するリファクタリングを提案します。本 PR では
pip-license
パッケージが poetry から外れるため、セキュリティ自動チェックの仕組みから外れることになる。これは安全性低下ではあるが、pip-license
がライセンス生成のみ登場しビルド・プロダクションに登場しないことを鑑みて許容範囲と考える。関連 Issue
無し