2014年09月19日

Qtにもパッケージマネージャが欲しい

JSXのパッケージマネージャ(npmへのあいのり)対応のパッチを書いたりもしましたが、今どきのプログラミング言語ではパッケージマネージャは必要不可欠なインフラだと思います。Qtももっといろいろなコードが流通するといいと思うのですが、いまだに、昔ながらの強力なコアAPI + 人力で努力みたいなノリなのかなぁ、と思ったり。欲しいのは、パッケージというかモジュールというかライブラリの流通インフラ。以下妄想。モデルはnodeのnpm。

  • qpm(仮称)コマンドで、必要なライブラリを取得。
  • システムのフォルダには手を加えない
  • qt_modulesフォルダにファイルが入る。孫依存もフラットに並べる。
  • qt_package.jsonに依存関係が書かれる。依存は、ビルドに必要、ライブラリの利用にも必要の2種類。
  • パッケージは基本的にgithubに置く。ブランチ、タグで指定
  • ブランチとタグはgithub APIで取得可能。タグブランチ
  • バージョンは、メジャー、マイナー、パッチを指定することである程度柔軟な組み合わせができる
  • パッケージはソースコード(gitリポジトリチェックアウト)、バイナリ(リリース)のどちらかで提供。
  • パッケージには、追加すべきファイル情報を持つ。
  • アプリのプロジェクトのルートは必ず、subdirs形式。その中に同名のルートのプロジェクトが入る。
  • ビルドが必要なソース形式のパッケージは、ルート直下にライブラリのプロジェクトとして追加。
  • ルートのプロジェクトの.pro、アプリのプロジェクトの.proは、qpmが作るをインクルードする。このファイルは機械生成で、依存ファイル利用に必要な情報などをすべて含む

なんとなくできそうな気はしてきた。パッケージ作成支援の部分もうちょっと考えると良さそう。configure使うのは、パッケージマネージャがかわりにビルドというのも手かなぁ。

追記 9/27

  • 静的リンクもしくはソースコードとして提供するなら、subdirsじゃなくてもいい。階層構造じゃない素の構成の方がわかりやすいかな。
  • ソースコード提供はqt_modules内にgit cloneが良いかも。パッチ当ててpull request出したりしやすい
  • git ls-remoteで、cloneしなくてもリポジトリのタグとかブランチ情報は取ってこれる
  • ファイル形式は.jsonじゃなくて.iniにしたい。コンフリクトに強いし、素のQtで扱える。
posted by @shibukawa at 11:53 | TrackBack(0) | 日記 はてなブックマーク - Qtにもパッケージマネージャが欲しい
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/103753537
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索ボックス

Twitter

www.flickr.com
This is a Flickr badge showing public photos and videos from shibukawa.yoshiki. Make your own badge here.
<< 2017年11月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
最近の記事
カテゴリ
過去ログ
Powered by さくらのブログ