bee 0.10.1 → 0.10.2

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.
data/README CHANGED
@@ -25,4 +25,4 @@ or go to URL http://www.apache.org/licenses/LICENSE-2.0).
25
25
 
26
26
  = Copyright
27
27
 
28
- bee version 0.10.1 (C) Michel Casabianca & Contributors - 2006-2010
28
+ bee version 0.10.2 (C) Michel Casabianca & Contributors - 2006-2010
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env bash
2
+ # To enable bash completion for Bee, copy this file in directory
3
+ # /etc/bash_completion.d/ and rename it bee. Next time you open a terminal,
4
+ # Bee completion should work:
5
+ #
6
+ # $ bee --help[TAB]
7
+ # --help --help-build --help-task --help-template
8
+ #
9
+ # $ bee t[TAB]
10
+ # tag test
11
+ #
12
+ # Completion works on long options (starting with --) and targets of the build
13
+ # file.
14
+
15
+ _bee()
16
+ {
17
+ local cur prev opts
18
+ COMPREPLY=()
19
+ cur="${COMP_WORDS[COMP_CWORD]}"
20
+ prev="${COMP_WORDS[COMP_CWORD-1]}"
21
+
22
+ if [[ ${cur} == -* ]] ; then
23
+ opts="`bee -o`"
24
+ COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
25
+ return 0
26
+ else
27
+ opts="`bee -a`"
28
+ COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
29
+ return 0
30
+ fi
31
+ }
32
+
33
+ complete -F _bee bee
34
+ complete -F _bee b
35
+
data/lib/bee.rb CHANGED
@@ -392,6 +392,18 @@ module Bee
392
392
  return description
393
393
  end
394
394
 
395
- end
395
+ end
396
+
397
+ # Return Bee version. Try to load bee_version file or return UNKNOWN.
398
+ def version
399
+ begin
400
+ require 'bee_version'
401
+ return Bee::VERSION
402
+ rescue Exception
403
+ return 'UNKNOWN'
404
+ end
405
+ end
406
+
407
+ module_function :version
396
408
 
397
409
  end
data/lib/bee_console.rb CHANGED
@@ -43,7 +43,29 @@ module Bee
43
43
  -f file Build file to run (defaults to "build.yml").
44
44
  -r Look for build file recursively up in file system.
45
45
  -l Print bee logo on console.
46
+ -a Print list of available targets.
47
+ -o Print list of available options.
46
48
  targets Targets to run (default target if omitted).'
49
+ # Options descriptions.
50
+ OPTIONS = [
51
+ ['--version', '-V', GetoptLong::NO_ARGUMENT],
52
+ ['--help', '-h', GetoptLong::NO_ARGUMENT],
53
+ ['--help-build', '-b', GetoptLong::NO_ARGUMENT],
54
+ ['--help-task','-k', GetoptLong::REQUIRED_ARGUMENT],
55
+ ['--help-template','-e', GetoptLong::REQUIRED_ARGUMENT],
56
+ ['--dry-run', '-n', GetoptLong::NO_ARGUMENT],
57
+ ['--property', '-p', GetoptLong::REQUIRED_ARGUMENT],
58
+ ['--template', '-t', GetoptLong::REQUIRED_ARGUMENT],
59
+ ['--verbose', '-v', GetoptLong::NO_ARGUMENT],
60
+ ['--style', '-s', GetoptLong::REQUIRED_ARGUMENT],
61
+ ['--color', '-c', GetoptLong::NO_ARGUMENT],
62
+ ['--black-and-white', '-w', GetoptLong::NO_ARGUMENT],
63
+ ['--file', '-f', GetoptLong::REQUIRED_ARGUMENT],
64
+ ['--recursive', '-r', GetoptLong::NO_ARGUMENT],
65
+ ['--logo', '-l', GetoptLong::NO_ARGUMENT],
66
+ ['--targets', '-a', GetoptLong::NO_ARGUMENT],
67
+ ['--options', '-o', GetoptLong::NO_ARGUMENT],
68
+ ]
47
69
  # Name for default build file.
48
70
  DEFAULT_BUILD_FILE = 'build.yml'
49
71
  # Exit value on error parsing command line
@@ -57,12 +79,12 @@ targets Targets to run (default target if omitted).'
57
79
  # Bee options environment variable.
58
80
  BEE_OPT_ENV = 'BEEOPT'
59
81
  # Bee text logo (generated with http://www.network-science.de/ascii/)
60
- BEE_LOGO = <<'EOF'
82
+ BEE_LOGO = <<"EOF"
61
83
  _
62
84
  | |__ ___ ___
63
- ____ | '_ \ / _ \/ _ \ _____ _____ _____ _____ _____ _____ _____ _____ _____
85
+ ____ | '_ \\ / _ \\/ _ \\ _____ _____ _____ _____ _____ _____ _____ _____ _____
64
86
  |____| | |_) | __/ __/ |_____|_____|_____|_____|_____|_____|_____|_____|_____|
65
- |_.__/ \___|\___| 0.10.0 http://bee.rubyforge.org
87
+ |_.__/ \\___|\\___| #{Bee.version.ljust(8)} http://bee.rubyforge.org
66
88
 
67
89
  EOF
68
90
 
@@ -85,6 +107,8 @@ EOF
85
107
  file = DEFAULT_BUILD_FILE
86
108
  recursive = false
87
109
  logo = false
110
+ print_targets = false
111
+ print_options = false
88
112
  targets = []
89
113
  # read options in BEEOPT environment variable
90
114
  options = ENV[BEE_OPT_ENV]
@@ -93,21 +117,7 @@ EOF
93
117
  # parse command line arguments
94
118
  old_argv = ARGV
95
119
  ARGV.replace(arguments)
96
- opts = GetoptLong.new(['--version', '-V', GetoptLong::NO_ARGUMENT],
97
- ['--help', '-h', GetoptLong::NO_ARGUMENT],
98
- ['--help-build', '-b', GetoptLong::NO_ARGUMENT],
99
- ['--help-task','-k', GetoptLong::REQUIRED_ARGUMENT],
100
- ['--help-template','-e', GetoptLong::REQUIRED_ARGUMENT],
101
- ['--dry-run', '-n', GetoptLong::NO_ARGUMENT],
102
- ['--property', '-p', GetoptLong::REQUIRED_ARGUMENT],
103
- ['--template', '-t', GetoptLong::REQUIRED_ARGUMENT],
104
- ['--verbose', '-v', GetoptLong::NO_ARGUMENT],
105
- ['--style', '-s', GetoptLong::REQUIRED_ARGUMENT],
106
- ['--color', '-c', GetoptLong::NO_ARGUMENT],
107
- ['--black-and-white', '-w', GetoptLong::NO_ARGUMENT],
108
- ['--file', '-f', GetoptLong::REQUIRED_ARGUMENT],
109
- ['--recursive', '-r', GetoptLong::NO_ARGUMENT],
110
- ['--logo', '-l', GetoptLong::NO_ARGUMENT])
120
+ opts = GetoptLong.new(*OPTIONS)
111
121
  opts.each do |opt, arg|
112
122
  case opt
113
123
  when '--version'
@@ -144,13 +154,17 @@ EOF
144
154
  recursive = true
145
155
  when '--logo'
146
156
  logo = true
157
+ when '--targets'
158
+ print_targets = true
159
+ when '--options'
160
+ print_options = true
147
161
  end
148
162
  end
149
163
  targets = Array.new(ARGV)
150
164
  ARGV.replace(old_argv)
151
165
  return [version, help, help_build, help_task, help_template, task,
152
166
  properties, dry_run, template, verbose, style, color, file,
153
- recursive, logo, targets]
167
+ recursive, logo, print_targets, print_options, targets]
154
168
  end
155
169
 
156
170
  # Parse a command line property.
@@ -175,8 +189,11 @@ EOF
175
189
  begin
176
190
  version, help, help_build, help_task, help_template, task,
177
191
  properties, dry_run, template, verbose, style, color, file,
178
- recursive, logo, targets = parse_command_line(arguments)
192
+ recursive, logo, print_targets, print_options,
193
+ targets = parse_command_line(arguments)
179
194
  rescue
195
+ # DEBUG
196
+ puts $!.backtrace
180
197
  puts "ERROR: parsing command line (type 'bee -h' for help)"
181
198
  exit(EXIT_PARSING_CMDLINE)
182
199
  end
@@ -191,8 +208,7 @@ EOF
191
208
  puts BEE_LOGO
192
209
  end
193
210
  if version
194
- copyright = Bee::Util::copyright
195
- puts copyright if copyright
211
+ puts Bee.version
196
212
  elsif help
197
213
  puts HELP
198
214
  elsif help_build
@@ -208,6 +224,16 @@ EOF
208
224
  listener = Listener.new(formatter, verbose)
209
225
  build = Build.load(file, false, properties)
210
226
  build.run(targets, listener, dry_run)
227
+ elsif print_targets
228
+ begin
229
+ build = Build.load(file)
230
+ targets = build.targets.hash.keys
231
+ rescue Exception
232
+ targets = []
233
+ end
234
+ print targets.join(' ')
235
+ elsif print_options
236
+ print OPTIONS.map {|o| o[0]}.join(' ')
211
237
  else
212
238
  listener = Listener.new(formatter, verbose)
213
239
  build = Build.load(file, recursive, properties)
@@ -0,0 +1,5 @@
1
+ module Bee
2
+
3
+ VERSION = '0.10.2'
4
+
5
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bee
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michel Casabianca & Contributors
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-09-30 00:00:00 +02:00
12
+ date: 2010-11-30 00:00:00 +01:00
13
13
  default_executable: bee
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -46,12 +46,14 @@ description:
46
46
  email: michel.casabianca@gmail.com
47
47
  executables:
48
48
  - bee
49
+ - bash_completion_bee
49
50
  extensions: []
50
51
 
51
52
  extra_rdoc_files:
52
53
  - README
53
54
  - LICENSE
54
55
  files:
56
+ - bin/bash_completion_bee
55
57
  - bin/bee
56
58
  - bin/bee.bat
57
59
  - lib/bee.rb
@@ -62,6 +64,7 @@ files:
62
64
  - lib/bee_task.rb
63
65
  - lib/bee_task_default.rb
64
66
  - lib/bee_util.rb
67
+ - lib/bee_version.rb
65
68
  - egg/application/bin/start
66
69
  - egg/application/bin/start.bat
67
70
  - egg/application/build.yml