milkode 0.6.3 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,18 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- git (1.2.5)
5
- jeweler (1.5.2)
6
- bundler (~> 1.0.0)
7
- git (>= 1.2.5)
8
- rake
9
- rake (0.8.7)
10
- rcov (0.9.9)
11
-
12
- PLATFORMS
13
- ruby
14
-
15
- DEPENDENCIES
16
- bundler (~> 1.0.0)
17
- jeweler (~> 1.5.2)
18
- rcov
@@ -1,149 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- require 'optparse'
3
- require 'milkode/cdstk/cli_cdstksub'
4
- require 'milkode/cdstk/cdstk'
5
- require 'milkode/common/dbdir.rb'
6
- require 'milkode/cdweb/cli_cdweb'
7
- require 'milkode/grep/cli_grep'
8
- include Milkode
9
-
10
- module Milkode
11
- class CLI_Cdstk
12
- def self.execute(stdout, arguments=[])
13
- opt = OptionParser.new <<EOF
14
- #{File.basename($0)} COMMAND [ARGS]
15
-
16
- The most commonly used #{File.basename($0)} are:
17
- add Add packages.
18
- cleanup Cleanup garbage records.
19
- dir Disp package dir.
20
- dump Dump records.
21
- grep Print lines matching a pattern
22
- ignore Ignore setting.
23
- info Disp information.
24
- init Init db.
25
- list List packages.
26
- mcd Print 'mcd' command.
27
- pwd Disp current db.
28
- rebuild Rebuild db.
29
- remove Remove packages.
30
- setdb Set default db.
31
- update Update packages.
32
- web Run web-app.
33
- EOF
34
-
35
- opt.order!(arguments)
36
- subcommand = arguments.shift
37
-
38
- case subcommand
39
- when 'grep'
40
- Milkode::CLI_Grep.execute(stdout, arguments)
41
- else
42
- subcommand_default(stdout, opt, subcommand, arguments)
43
- end
44
- end
45
-
46
- private
47
-
48
- def self.subcommand_default(stdout, opt, subcommand, arguments)
49
- subopt = Hash.new
50
- suboptions = Hash.new
51
-
52
- subopt['init'], suboptions['init'] = CLI_Cdstksub.setup_init
53
- subopt['add'], suboptions['add'] = CLI_Cdstksub.setup_add
54
- subopt['update'], suboptions['update'] = CLI_Cdstksub.setup_update
55
- subopt['remove'], suboptions['remove'] = CLI_Cdstksub.setup_remove
56
- subopt['list'], suboptions['list'] = CLI_Cdstksub.setup_list
57
- subopt['pwd'], suboptions['pwd'] = CLI_Cdstksub.setup_pwd
58
- subopt['cleanup'], suboptions['cleanup'] = CLI_Cdstksub.setup_cleanup
59
- subopt['rebuild'], suboptions['rebuild'] = CLI_Cdstksub.setup_rebuild
60
- subopt['dump'] = OptionParser.new("#{File.basename($0)} dump")
61
- subopt['web'], suboptions['web'] = CLI_Cdstksub.setup_web
62
- subopt['dir'], suboptions['dir'] = CLI_Cdstksub.setup_dir
63
- subopt['setdb'], suboptions['setdb'] = CLI_Cdstksub.setup_setdb
64
- subopt['mcd'], suboptions['mcd'] = CLI_Cdstksub.setup_mcd
65
- subopt['info'], suboptions['info'] = CLI_Cdstksub.setup_info
66
- subopt['ignore'], suboptions['ignore'] = CLI_Cdstksub.setup_ignore
67
-
68
- if (subopt[subcommand])
69
- subopt[subcommand].parse!(arguments) unless arguments.empty?
70
- init_default = suboptions['init'][:init_default]
71
-
72
- db_dir = select_dbdir(subcommand, init_default, arguments)
73
- obj = Cdstk.new(stdout, db_dir)
74
-
75
- case subcommand
76
- when 'init'
77
- if (arguments.size <= 1)
78
- FileUtils.mkdir_p db_dir if (init_default || init_specify_dbddir?(arguments))
79
- obj.init(suboptions[subcommand])
80
- else
81
- $stderr.puts "milk init [db_dir] (Cannot specify two 'db_dir')"
82
- end
83
- when 'update'
84
- obj.update(arguments, suboptions[subcommand])
85
- when 'add'
86
- obj.add(arguments, suboptions[subcommand])
87
- when 'remove'
88
- obj.remove(arguments, suboptions[subcommand])
89
- when 'list'
90
- obj.list(arguments, suboptions[subcommand])
91
- when 'pwd'
92
- obj.pwd(suboptions[subcommand])
93
- when 'cleanup'
94
- obj.cleanup(suboptions[subcommand])
95
- when 'rebuild'
96
- obj.rebuild(arguments, suboptions[subcommand])
97
- when 'dump'
98
- obj.dump
99
- when 'web'
100
- obj.compatible?
101
- Milkode::CLI_Cdweb.execute_with_options(stdout, suboptions[subcommand])
102
- when 'dir'
103
- obj.dir(arguments, suboptions[subcommand])
104
- when 'setdb'
105
- obj.setdb(arguments, suboptions[subcommand])
106
- when 'mcd'
107
- obj.mcd(arguments, suboptions[subcommand])
108
- when 'info'
109
- obj.info(arguments, suboptions[subcommand])
110
- when 'ignore'
111
- begin
112
- obj.ignore(arguments, suboptions[subcommand])
113
- rescue IgnoreError => e
114
- stdout.puts e.message
115
- end
116
- end
117
- else
118
- if subcommand
119
- $stderr.puts "#{File.basename($0)}: '#{subcommand}' is not a #{File.basename($0)} command. See '#{File.basename($0)} --help'"
120
- else
121
- stdout.puts opt.help
122
- end
123
- end
124
- end
125
-
126
- def self.select_dbdir(subcommand, init_default, arguments)
127
- if (subcommand == 'init')
128
- if (init_specify_dbddir?(arguments))
129
- arguments[0]
130
- elsif (init_default)
131
- Dbdir.default_dir
132
- else
133
- '.'
134
- end
135
- else
136
- if (Dbdir.dbdir?('.') || !Dbdir.dbdir?(Dbdir.default_dir))
137
- '.'
138
- else
139
- Dbdir.default_dir
140
- end
141
- end
142
- end
143
-
144
- def self.init_specify_dbddir?(arguments)
145
- arguments.size == 1
146
- end
147
-
148
- end
149
- end
@@ -1,184 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- require 'optparse'
3
- require 'milkode/cdstk/cdstk'
4
- require 'milkode/common/dbdir.rb'
5
- require 'milkode/cdweb/cli_cdweb'
6
- include Milkode
7
-
8
- module Milkode
9
- class CLI_Cdstksub
10
- def self.setup_init
11
- options = {:init_default => false}
12
-
13
- opt = OptionParser.new("#{File.basename($0)} init [db_dir]")
14
- opt.on('--default', 'Init default db, ENV[\'MILKODE_DEFAULT_DIR\'] or ~/.milkode.') { options[:init_default] = true }
15
- opt.on('-s', '--setdb', 'With setdb.') { options[:setdb] = true }
16
-
17
- return opt, options
18
- end
19
-
20
- def self.setup_add
21
- bin = File.basename($0)
22
-
23
- options = {:ignore => []}
24
-
25
- opt = OptionParser.new(<<EOF)
26
- #{bin} add dir1 [dir2 ...]
27
- usage:
28
- #{bin} add /path/to/dir1
29
- #{bin} add /path/to/dir2 /path/to/dir3
30
- #{bin} add /path/is/*
31
- #{bin} add /path/to/zipfile.zip
32
- #{bin} add /path/to/addon.xpi
33
- #{bin} add http://example.com/urlfile.zip
34
-
35
- option:
36
- EOF
37
- # opt.on('-n NAME', '--name NAME', 'Specify name (default: File.basename(dir))') {|v| options[:name] = v }
38
- opt.on('-i PATH', '--ignore PATH', 'Ignore path.') {|v| options[:ignore] << v }
39
- opt.on('--no-auto-ignore', 'Disable auto ignore (.gitignore)') { options[:no_auto_ignore] = true }
40
- opt.on('-v', '--verbose', 'Be verbose.') { options[:verbose] = true }
41
-
42
- return opt, options
43
- end
44
-
45
- def self.setup_update
46
- options = {:force => false}
47
-
48
- opt = OptionParser.new("#{File.basename($0)} update [keyword1 keyword2 ...]")
49
- opt.on('--all', 'Update all.') { options[:all] = true }
50
- opt.on('-v', '--verbose', 'Be verbose.') { options[:verbose] = true }
51
-
52
- return opt, options
53
- end
54
-
55
- def self.setup_remove
56
- options = {:force => false}
57
-
58
- opt = OptionParser.new("#{File.basename($0)} remove keyword1 [keyword2 ...]")
59
- opt.on('--all', 'Update all.') { options[:all] = true }
60
- opt.on('-f', '--force', 'Force remove.') { options[:force] = true }
61
- opt.on('-v', '--verbose', 'Be verbose.') { options[:verbose] = true }
62
-
63
- return opt, options
64
- end
65
-
66
- def self.setup_list
67
- options = {:verbose => false}
68
-
69
- opt = OptionParser.new("#{File.basename($0)} list package1 [package2 ...]") # @todo コメント修正
70
- opt.on('-v', '--verbose', 'Be verbose.') { options[:verbose] = true }
71
-
72
- return opt, options
73
- end
74
-
75
- def self.setup_pwd
76
- options = {:default => false}
77
-
78
- opt = OptionParser.new("#{File.basename($0)} pwd package1 [package2 ...]")
79
- opt.on('--default', 'Show default db, ENV[\'MILKODE_DEFAULT_DIR\'] or ~/.milkode.') { options[:default] = true }
80
-
81
- return opt, options
82
- end
83
-
84
- def self.setup_cleanup
85
- options = {:verbose => false, :force => false}
86
-
87
- opt = OptionParser.new("#{File.basename($0)} cleanup")
88
- opt.on('-f', '--force', 'Force cleanup.') { options[:force] = true }
89
-
90
- return opt, options
91
- end
92
-
93
- def self.setup_rebuild
94
- options = {}
95
-
96
- opt = OptionParser.new("#{File.basename($0)} keyword1 [keyword2 ...]")
97
- opt.on('--all', 'Rebuild all.') { options[:all] = true}
98
- opt.on('-v', '--verbose', 'Be verbose.') { options[:verbose] = true }
99
-
100
- return opt, options
101
- end
102
-
103
- def self.setup_web
104
- options = {
105
- :environment => ENV['RACK_ENV'] || "development",
106
- :pid => nil,
107
- :Port => 9292,
108
- :Host => "127.0.0.1",
109
- :AccessLog => [],
110
- :config => "config.ru",
111
- # ----------------------------
112
- :server => "thin",
113
- :LaunchBrowser => true,
114
- :DbDir => Milkode::CLI_Cdweb::select_dbdir,
115
- }
116
-
117
- opts = OptionParser.new("#{File.basename($0)} web")
118
- opts.on('--db DB_DIR', 'Database dir (default : current_dir)') {|v| options[:DbDir] = v }
119
- opts.on("-o", "--host HOST", "listen on HOST (default: 127.0.0.1)") {|host| options[:Host] = host }
120
- opts.on('-p', '--port PORT', 'use PORT (default: 9292)') {|v| options[:Port] = v }
121
- opts.on("-s", "--server SERVER", "serve using SERVER (default : thin)") {|s| options[:server] = s }
122
- opts.on('-n', '--no-browser', 'No launch browser.') {|v| options[:LaunchBrowser] = false }
123
- opts.on('--customize', 'Create customize file.') {|v| options[:customize] = true }
124
-
125
- # --hostが'-h'を上書きするので、'-h'を再定義してあげる
126
- opts.on_tail("-h", "-?", "--help", "Show this message") do
127
- puts opts
128
- exit
129
- end
130
-
131
- return opts, options
132
- end
133
-
134
- def self.setup_dir
135
- options = {}
136
-
137
- opt = OptionParser.new("#{File.basename($0)} dir")
138
- opt.on('--top', 'XXX') {|v| options[:top] = true }
139
-
140
- return opt, options
141
- end
142
-
143
- def self.setup_setdb
144
- options = {}
145
-
146
- opt = OptionParser.new("#{File.basename($0)} setdb")
147
- opt.on('--default', '--reset', 'Reset default db.') {|v| options[:reset] = true }
148
-
149
- return opt, options
150
- end
151
-
152
- def self.setup_mcd
153
- options = {}
154
-
155
- opt = OptionParser.new("#{File.basename($0)} mcd")
156
-
157
- return opt, options
158
- end
159
-
160
- def self.setup_info
161
- options = {}
162
-
163
- opt = OptionParser.new("#{File.basename($0)} info")
164
-
165
- return opt, options
166
- end
167
-
168
- def self.setup_ignore
169
- bin = File.basename($0)
170
-
171
- options = {}
172
-
173
- opt = OptionParser.new("#{File.basename($0)} ignore [path ...]")
174
- opt.on('-p PACKAGE', '--package PACKAGE', 'Specify ignore package.') {|v| options[:package] = v }
175
- opt.on('-d', '--delete', 'Delete ignore') { options[:delete] = true }
176
- opt.on('--delete-all', 'Delete all') { options[:delete_all] = true }
177
- opt.on('--test', 'Ignore test, Display complete list') { options[:test] = true }
178
-
179
- return opt, options
180
- end
181
-
182
-
183
- end
184
- end
@@ -1,28 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- #
3
- # @file
4
- # @brief
5
- # @author ongaeshi
6
- # @date 2011/03/08
7
-
8
- require 'rubygems'
9
- require 'test/unit'
10
- require 'milkode/cdstk/cli_cdstk'
11
-
12
- class TestBinExec < Test::Unit::TestCase
13
- def test_bin_exec
14
- io = StringIO.new
15
-
16
- # milk
17
- Milkode::CLI_Cdstk.execute(io)
18
-
19
- # 一定時間だけ起動するような仕組みは無いものか
20
- # Milkode::CLI_Cdweb.execute(io, "--no-browser -p 5555".split)
21
-
22
- # puts io.string
23
- end
24
- end
25
-
26
-
27
-
28
-