madx-sergeant 0.0.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.
data/README.textile ADDED
@@ -0,0 +1,25 @@
1
+ h1. Sergeant
2
+
3
+ Sergeant is a small tool that helps you managing the repositories you're
4
+ tracking. It's useful to run custom commands on a repo (updating, building gems,
5
+ running (M|R)akefiles).
6
+
7
+ Sergeant is SCM-agnostic so you can use it with Git, Mercurial or Subversion
8
+ repositories without any worries. Actually, Sergeant is a generic tool so you
9
+ can also use it to perform various tasks.
10
+
11
+ h2. Install
12
+
13
+ <pre><code>
14
+ $ sudo gem install madx-sergeant --source=http://gems.github.com/
15
+ </code></pre>
16
+
17
+ or
18
+
19
+ <pre><code>
20
+ $ cd your/repos/folder/
21
+ $ git clone git://github.com/madx/sergeant.git
22
+ $ cd sergeant; rake
23
+ </code></pre>
24
+
25
+ And a fresh gem will be placed in the @pkg/@ folder.
data/Rakefile ADDED
@@ -0,0 +1,12 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'rake/gempackagetask'
4
+
5
+ SERGEANT_GEMSPEC = eval(File.read('ruacce.gemspec'))
6
+
7
+ Rake::GemPackageTask.new(SERGEANT_GEMSPEC) do |pkg|
8
+ pkg.need_tar_bz2 = true
9
+ end
10
+ task :default => "pkg/#{SERGEANT_GEMSPEC.name}-#{SERGEANT_GEMSPEC.version}.gem" do
11
+ puts "generated latest version"
12
+ end
data/bin/sgt ADDED
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../lib/sergeant'
4
+
5
+ usage = <<-EOS
6
+ Usage: sgt [options]
7
+ See the README for some examples.
8
+ EOS
9
+
10
+ opts = Trollop.options do
11
+ banner usage
12
+ text "\nRepositories: "
13
+ opt :select, "Select repositories (* acts as wildcard)", :type => String
14
+ opt :add_repo, "Add a repository to Sergeant config file", :type => String
15
+ opt :list, "List all handled repositories and their rules (must be used alone)"
16
+
17
+ text "\nRules:"
18
+ opt :rule, "Select the rule to apply", :type => String
19
+ opt :add_rule, "Add a rule with the specified name", :type => String, :short => 'R'
20
+
21
+ text "\nGrouping:"
22
+ opt :group, "Select a group of repos", :type => String
23
+ opt :add_group, "Add a group of repos", :type => String, :short => 'G'
24
+
25
+ text "\nCommon options:"
26
+ end
27
+
28
+ if opts[:rule] != nil && (opts[:select].nil? || opts[:group].nil?)
29
+ Trollop.die :rule, "need at least a repo or a group to be selected"
30
+ end
31
+
32
+ p opts
data/lib/sergeant.rb ADDED
@@ -0,0 +1,31 @@
1
+ require 'yaml'
2
+ require 'fileutils'
3
+
4
+ dir = File.dirname(__FILE__)
5
+ $LOAD_PATH << dir unless $LOAD_PATH.include?(dir)
6
+
7
+ require 'trollop'
8
+ require 'sergeant/configuration'
9
+ require 'sergeant/repository'
10
+
11
+ module Sergeant
12
+
13
+ RULES_FILE = ".sgtrc"
14
+
15
+ module Formats
16
+ def self.included(parent)
17
+ { :o => "33", :p => "35", :g => "32", :r => "1;31", :w => "1;37"}.
18
+ each do |meth, color|
19
+ parent.class_eval { define_method(meth) { "\e[#{color}m#{self}\e[00m" } }
20
+ end
21
+ parent.class_eval do
22
+ define_method(:i) do
23
+ self.ljust(78).split("\n").collect{|l| " #{l}"}.join("\n")
24
+ end
25
+ end
26
+ end
27
+ end
28
+
29
+ String.send(:include, Formats)
30
+
31
+ end
@@ -0,0 +1,5 @@
1
+ module Sergeant
2
+ class Configuration
3
+
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ module Sergeant
2
+ class Repository
3
+
4
+ end
5
+ end
metadata ADDED
@@ -0,0 +1,59 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: madx-sergeant
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - "Fran\xC3\xA7ois Vaux"
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-07-08 00:00:00 -07:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description: Sergeant is a small tool that helps you managing the repositories you're tracking. It's useful to run custom commands on a repo (updating, building gems, running (M|R)akefiles).
17
+ email: root+sergeant@yapok.org
18
+ executables:
19
+ - sgt
20
+ extensions: []
21
+
22
+ extra_rdoc_files: []
23
+
24
+ files:
25
+ - lib/sergeant.rb
26
+ - lib/sergeant/configuration.rb
27
+ - lib/sergeant/repository.rb
28
+ - bin/sergeant
29
+ - Rakefile
30
+ - README.textile
31
+ - VERSION
32
+ has_rdoc: false
33
+ homepage: http://yapok.org/
34
+ post_install_message:
35
+ rdoc_options: []
36
+
37
+ require_paths:
38
+ - lib
39
+ required_ruby_version: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: "0"
44
+ version:
45
+ required_rubygems_version: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: "0"
50
+ version:
51
+ requirements: []
52
+
53
+ rubyforge_project:
54
+ rubygems_version: 1.2.0
55
+ signing_key:
56
+ specification_version: 2
57
+ summary: A small tool to help you manage your repositories
58
+ test_files: []
59
+