HSP向けパッケージマネージャ: hpkを作りたいと考えています(Python: pip, Node.js: npmに該当するもの)。
想定している仕様は以下です
- クロスプラットフォーム: HSP3DishやOpenHSP(LInux)に対応
- 上記を目標にするため、初期バージョンはひとまず.hspや.asのみを含む(.dllなどを含まない)パッケージを配布できることを目指す
- pypi.orgやwww.npmjs.comのような中央集権的パッケージリポジトリは用意せず、GoのようにGitHub等で各々が公開し、利用者はそのリンクを指定することで利用できるようにする
- CLIはGoで制作しているが、余力があればGUI版(操作は内部でCLIを呼び出して行う)をHSPで制作したい
パッケージマネージャを作るに当たり、以下の依存関係管理方法が考えられそうですが、それに当たって私がわかっていない点があるため、有識者の皆様にご教授願いたいです 🙇
## グローバル依存関係
pipのように、一度ダウンロードするとどのプロジェクトでも呼び出せるようにする方式です。
この方式を取るに当たって私がわかっていない点は以下です。
- Win版HSPでは`hsp36/common`で.asを管理しているが、これ以外で管理しているディレクトリがあるか/任意に指定する方法があるか
- というのも、あまり`hsp36/common`の書き換えをhpk側でしたくない…最悪する場合は元あるファイルを書き換えないような仕組みを考えないといけない
- OpenHSP(Linux)やHSP3Dishではどこで共通の.asを管理しているのか
## ローカル依存関係
npmのように、プロジェクト内にフォルダ(`node_modules`など)を作成して管理する方式です。
この方式を取るに当たって私がわかっていない点は以下です。
- この方式を取る場合、プロジェクト管理フォルダ(以降`hpk_packages`と呼称)をコンパイラetcに指定する方法があるのか?
- ない場合、PHPのComposerのようにautoload.asなどを動的に構築して読み込む方法が適切だろうか?
- その場合、そのプロジェクトは`#include “hpk_pakcages/autoload.as”`が必要になり、hpkが必須になりそうだが許容されるか?
- 上記の疑問点に関する解答/それが示されているURL
- グローバル/ローカル依存関係のどちらが適しているかのご意見
- 現状制作しているhpkに関する質問
- すでに存在する似たプロジェクトの存在
- その他疑問点やアドバイス
など、どのような観点でのご意見/ご質問等も大歓迎です!よろしくお願いいたします 🙇