Milkode

milkコマンド

データベースの作成

Milkodeのデータベースやパッケージの管理には全てmilkというコマンドを使います(Windowsではmilk.bat)。
まずはデフォルトデータベースを作成しましょう。

$ milk init --default
create     : /Users/auser/.milkode/milkode.yaml
create     : /Users/auser/.milkode/db/milkode.db created.

Milkodeに登録したソースコードはデータベースと呼ばれる場所に格納されます。
デフォルトデータベースの位置は~/.milkode,
もしくは環境変数MILKODE_DEFAULT_DIRで指定された値です。

パッケージの追加

データベースの作成が終わったらパッケージを登録していきましょう。
試しにa_projectというディレクトリを作り、パッケージとして追加します。
パッケージの追加にはmilk addコマンドを使います。

$ milk add a_project/
package    : a_project
add_record : /Users/auser/Documents/a_project/a.txt
add_record : /Users/auser/Documents/a_project/b.txt
add_record : /Users/auser/Documents/a_project/c.rb
result     : 1 packages, 3 records, 3 add. (0.21sec)
*milkode*  : 1 packages, 3 records in /Users/auser/.milkode/db/milkode.db.

インストールしたmilkode本体を登録してみます。

$ milk add /opt/local/lib/ruby/gems/1.8/gems/milkode-0.2.9/ # 環境によってgemの位置は変わります

httpからの取り込みもサポートしています。Rubyのソースコードを取り込んでみましょう。

$ milk add http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.zip

登録されているパッケージはmilk listコマンドで確認出来ます。

# パッケージ一覧を表示。
$ milk list
a_project
milkode-0.2.9
ruby-1.9.2-p290

# キーワードで絞り込むことも出来ます。
$ milk list milk
milkode-0.2.9

# `milk list -v`でパッケージ位置も表示。
$ milk list -v milk
milkode-0.2.9     /opt/local/lib/ruby/gems/1.8/gems/milkode-0.2.9

パッケージの検索

好きな方法でどうぞ。

パッケージの更新

パッケージにファイルを追加したり内容を変更した時は、milk updateを使います。
現在位置にあるパッケージを更新します。

$ milk update
package    : a_project
.
.

全てのパッケージを更新したい時はmilk update --allです。

$ milk update --all
package    : a_project
package    : milkode-0.2.9
.
.

カスタムデータベースの作成

データベースは複数個作ることが出来ます。
デフォルト以外のデータベースを作る時は引数にディレクトリ名を指定します。

$ milk init ~/tmp/milkode_db2  # ディレクトリは一緒に作成します
create     : milkode.yaml
create     : /Users/aurser/tmp/milkode_db2/db/milkode.db created.

現在操作可能なデータベースはmilk pwdで確認可能です。

# 現在操作可能なデータベースを確認
$ cd ~/tmp/milkode_db2
$ milk pwd
On database in /Users/aurser/tmp/milkode_db2

# カレントディレクトリがデータベースでない場合、デフォルトデータベースが操作対象となる
$ cd ~
$ milk pwd
On database in /Users/aurser/.milkode

デフォルトデータベースの切り替え

milk setdb でデフォルトデータベースを切り替えることが出来ます。

# 'milk sedb'でデフォルトデータベースの切り替え
$ milk setdb ~/tmp/milkode_db2/
Set default db /Users/auser/tmp/milkode_db2.
$ milk pwd
Not package dir in /Users/auser/tmp/milkode_db2.
 
# 'milk list'や'milk grep'の対象も変化する
/Users/auser/tmp/milkode_db2
$ milk list
a_project
$ milk grep -a aaaaaa
Documents/a_project/a.txt:1:aaaaaa
 
# 'milk setdb --default'でデフォルトデータベースを元に戻す
$ milk setdb --default
Reset default db
  remove:      /Users/auser/.milkode_db_dir
  default_db:  /Users/auser/.milkode
$ milk pwd
Not package dir in /Users/auser/.milkode

ヘルプコマンド

milkには他にも便利なコマンドがたくさん用意されています。

$ milk -h
Commands:
  milk add PATH                                        # Add package(s) to milkode
  milk cleanup                                         # Creanup garbage recoeds
  milk dir [package1 package2]                         # Print project root directory
  milk dump                                            # Dump records
  milk fav [package1 package2 ...]                     # Add favorite
  milk files                                           # Display package files
  milk grep                                            # Search projects
  milk help [COMMAND]                                  # Describe available commands or one specific command
  milk ignore [path ...]                               # Ignore a file or directory
  milk info [package]                                  # Display package information
  milk init [db_dir]                                   # Initialize database directory. If db_dir is omitted
  milk list [package1 package2 ...]                    # List package
  milk mcd                                             # Generate `mcd' command
  milk plugins                                         # Display plugins
  milk pwd                                             # Display the current database
  milk rebuild [keyword1 keyword2]                     # Rebuild database
  milk remove keyword_or_path1 [keyword_or_path2 ...]  # Remove package
  milk setdb [dbpath]                                  # Set default db to dbpath
  milk update [keyword1 keyword2 ...]                  # Update database
  milk web                                             # Startup web interface

Options:
  -h, [--help]     # Help message.
      [--version]  # Show version.

詳しい使い方は各コマンドのヘルプを見て下さい。

$ milk add -h
milk add package1 [package2 ...]
usage:
  milk add /path/to/dir1
  milk add /path/to/dir2 /path/to/dir3
  milk add /path/is/*
  milk add /path/to/zipfile.zip
  milk add /path/to/addon.xpi
  milk add http://example.com/urlfile.zip