Initial commit
[duncan/rpmer.git] / bin / rpmer.rb
1 #!/usr/bin/env ruby
2 #
3 # rpmer: generates spec files
4 #
5 # --input x, -i x:
6 #    Uses x as input. x is another package of supported types
7 #
8 # --name [name]:
9 #    greet user by name, if name not supplied default is John
10 #
11 # command: The directory in which to issue the greeting.
12
13 # make easy to run from the project dir
14 $: << "#{Dir.pwd}/lib"
15 $:.push(File.expand_path(File.dirname(__FILE__) + "/../lib"))
16
17 require 'rubygems'
18 require 'logger'
19 require 'cmdparse'
20 require 'pp'
21 require 'rpmer/cmds/import'
22
23 def setup_command_line(log, args)
24   cmd = CmdParse::CommandParser.new( true, true )
25   cmd.program_name = "rpmer"
26   cmd.program_version = [0, 1, 0]
27   cmd.options = CmdParse::OptionParserWrapper.new do |opt|
28     opt.separator "Global options:"
29     opt.on("--verbose", "Be verbose when outputting info") do | t |
30       log.level = Logger::DEBUG
31     end
32   end
33    
34   # check
35   check_cmd = CmdParse::Command.new( 'check', false )
36   check_cmd.short_desc = "Check metadata from repository"
37   cmd.add_command( check_cmd )
38   check_cmd.set_execution_block do |args|
39     log.info "ooo check"
40   end
41   
42   # create
43   create_cmd = ImportCmd.new(log)
44
45   cmd.add_command( create_cmd )
46   
47   cmd.add_command( CmdParse::HelpCommand.new )
48   cmd.add_command( CmdParse::VersionCommand.new )
49
50   cmd.parse(args)
51   
52 end
53
54 def main(args)
55   
56   log = Logger.new(STDOUT)
57   log.datetime_format = "%Y-%m-%d %H:%M:%S"
58   log.level = Logger::INFO
59   
60   begin
61     setup_command_line(log, args)
62 #   rescue SystemExit => se
63 #     log.info se.message
64 #   rescue RuntimeError => e
65 #     log.error e.message
66 #   rescue Exception => e
67 #     log.error e.message
68   end
69
70 end
71
72 if __FILE__ == $0
73   main(ARGV)
74 end
75
76
77