heidi 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.3.0
data/bin/heidi CHANGED
@@ -7,6 +7,10 @@ cmd = ARGV.shift
7
7
  for_a = ARGV.shift
8
8
 
9
9
  ENV['PATH'] = "/bin:/usr/bin:/usr/local/bin"
10
+ if ENV['HEIDI_PATH']
11
+ ENV['PATH'] += ":#{ENV['HEIDI_PATH']}"
12
+ ENV['HEIDI_PATH'] = nil
13
+ end
10
14
 
11
15
  shell = SimpleShell.new
12
16
 
@@ -19,10 +23,9 @@ end
19
23
 
20
24
  case cmd
21
25
  when "new"
22
- puts "creating #{for_a}"
26
+ puts "creating #{for_a}/"
23
27
  puts "creating #{for_a}/projects"
24
28
  shell.mkdir %W(-p #{for_a}/projects)
25
- puts "creating #{for_a}/bin"
26
29
  shell.mkdir %W(-p #{for_a}/bin)
27
30
  puts "creating #{for_a}/Gemfile"
28
31
  File.open("#{for_a}/Gemfile", File::CREAT|File::WRONLY) do |f|
@@ -30,14 +33,27 @@ when "new"
30
33
  f.puts 'gem "heidi"'
31
34
  end
32
35
 
33
- puts "running bundle install"
34
- shell.in(for_a) do |sh|
35
- sh.bundle "install --binstubs --deployment"
36
- end
36
+ puts "\nIf you like you can run: bundle install --binstubs"
37
+ puts "this will tie heidi and heidi_web to this location"
38
+ puts "\nFor even more tying down, run: bundle install --deployment"
39
+ puts "after running bundle install --binstubs"
40
+
37
41
 
38
42
  when "project"
43
+ repo = ARGV.shift
44
+
45
+ if repo.nil?
46
+ $stderr.puts "You must specify a repository"
47
+ exit 1
48
+ end
49
+
39
50
  check_heidi_root
40
51
 
52
+ if File.exists? "projects/#{for_a}"
53
+ $stderr.puts "projects/#{for_a} is in the way. Please remove it"
54
+ exit 1
55
+ end
56
+
41
57
  # create a logs dir
42
58
  puts "creating projects/#{for_a}"
43
59
  puts "creating projects/#{for_a}/logs"
@@ -51,7 +67,7 @@ when "project"
51
67
  # make a clone
52
68
  shell.in("projects/#{for_a}") do |sh|
53
69
  puts "filling #{for_a} cache"
54
- repo = ARGV.shift
70
+
55
71
  puts "git clone #{repo}"
56
72
  sh.git %W(clone #{repo} cached)
57
73
 
@@ -60,7 +76,7 @@ when "project"
60
76
  cached.git %W(config heidi.name #{for_a})
61
77
  end
62
78
  end
63
- puts "Creating default test hook: projects/#{for_a}/hooks/test/01_rspec"
79
+ puts "Creating default test hook: projects/#{for_a}/hooks/tests/01_rspec"
64
80
  File.open("projects/#{for_a}/hooks/tests/01_rspec", File::CREAT|File::WRONLY) do |f|
65
81
  f.puts %q(#!/bin/sh
66
82
 
@@ -68,7 +84,7 @@ when "project"
68
84
  bundle exec rake spec
69
85
  )
70
86
  end
71
- shell.chmod %W(+x projects/#{for_a}/hooks/test/01_rspec)
87
+ shell.chmod %W(+x projects/#{for_a}/hooks/tests/01_rspec)
72
88
  puts "\n"
73
89
  puts "Now edit or add some hooks and run: heidi integrate #{for_a}"
74
90
 
data/heidi.gemspec CHANGED
@@ -5,14 +5,14 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "heidi"
8
- s.version = "0.2.1"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Hartog C. de Mik"]
12
- s.date = "2012-02-09"
12
+ s.date = "2012-02-14"
13
13
  s.description = "CI-Joe alike CI system called Heidi."
14
14
  s.email = "hartog@organisedminds.com"
15
- s.executables = ["heidi", "heidi_console", "heidi_cron", "heidi_web"]
15
+ s.executables = ["heidi", "heidi_web"]
16
16
  s.extra_rdoc_files = [
17
17
  "LICENSE.txt",
18
18
  "README.rdoc"
@@ -27,8 +27,6 @@ Gem::Specification.new do |s|
27
27
  "Rakefile",
28
28
  "VERSION",
29
29
  "bin/heidi",
30
- "bin/heidi_console",
31
- "bin/heidi_cron",
32
30
  "bin/heidi_web",
33
31
  "heidi.gemspec",
34
32
  "lib/heidi.rb",
@@ -46,6 +44,8 @@ Gem::Specification.new do |s|
46
44
  "lib/heidi/web/public/images/OrganisedMinds.png",
47
45
  "lib/heidi/web/public/images/heidi.jpeg",
48
46
  "lib/heidi/web/views/build.erb",
47
+ "lib/heidi/web/views/commit.erb",
48
+ "lib/heidi/web/views/config.erb",
49
49
  "lib/heidi/web/views/home.erb",
50
50
  "lib/heidi/web/views/layout.erb",
51
51
  "lib/heidi/web/views/project.erb",
@@ -63,7 +63,7 @@ Gem::Specification.new do |s|
63
63
  s.homepage = "http://github.com/coffeeaddict/heid"
64
64
  s.licenses = ["MIT"]
65
65
  s.require_paths = ["lib"]
66
- s.rubygems_version = "1.8.10"
66
+ s.rubygems_version = "1.8.16"
67
67
  s.summary = "A naive CI system"
68
68
 
69
69
  if s.respond_to? :specification_version then
data/lib/heidi/git.rb CHANGED
@@ -37,6 +37,12 @@ class Heidi
37
37
  res.out.split("\n").collect{ |b| b.gsub(/^[\s*]+/, '') }
38
38
  end
39
39
 
40
+ def remote_branches
41
+ res = @shell.git(%W(branch --no-color -r))
42
+ branches = res.out.split("\n").collect{ |b| b.gsub(/^[\s*]+/, '') }
43
+ branches.select { |b| b !~ /HEAD/ }
44
+ end
45
+
40
46
  # git checkout $name
41
47
  def switch(name)
42
48
  return nil unless branches.include?(name)
@@ -118,6 +124,14 @@ class Heidi
118
124
  @shell.git %W(log -n#{amount} --color --graph --pretty=oneline --abbrev-commit)
119
125
  end
120
126
 
127
+ def stat(commit)
128
+ @shell.git(%W(log -n1 --color --stat #{commit})).out
129
+ end
130
+
131
+ def diff(commit)
132
+ @shell.git(%W(diff --color #{commit}^ #{commit})).out
133
+ end
134
+
121
135
  # git config $key $value
122
136
  def []=(key, value)
123
137
  @shell.system("git", "config", "heidi.#{key}", value)
data/lib/heidi/project.rb CHANGED
@@ -46,6 +46,10 @@ class Heidi
46
46
  @name ||= @git[:name]
47
47
  end
48
48
 
49
+ def basename
50
+ File.basename(@root)
51
+ end
52
+
49
53
  def commit
50
54
  @git.commit[0..8]
51
55
  end
@@ -90,6 +94,14 @@ class Heidi
90
94
  name = @git["build.branch"]
91
95
  name == "" ? nil : name
92
96
  end
97
+ def integration_branch=(name)
98
+ name = name.split('/').last if name =~ /\//
99
+ @git["build.branch"] = name
100
+ end
101
+
102
+ def integration_branches
103
+ @git.remote_branches
104
+ end
93
105
 
94
106
  def integrate(forced=false)
95
107
  return true if !forced && self.current_build == self.commit
@@ -148,14 +160,29 @@ class Heidi
148
160
 
149
161
  lines = []
150
162
  log.out.lines.each do |line|
151
- color_less = line.gsub(/\e\[[^m]+m/, '')
152
- commit = color_less.scan(/^[\| \*]+ ([a-z0-9]+)/).flatten.first
153
- lines << { :line => line, :build => builds.find(commit) }
163
+ color_less = line.gsub(/\e\[[^m]*m?/, '')
164
+ commit = color_less.scan(/^[^a-z0-9]+([a-z0-9]+)/).flatten.first
165
+ (graph, message) = line.chomp.split(commit)
166
+ lines << {
167
+ :line => line,
168
+ :commit => commit,
169
+ :build => builds.find(commit),
170
+ :graph => graph,
171
+ :message => message,
172
+ }
154
173
  end
155
174
 
156
175
  return lines
157
176
  end
158
177
 
178
+ def stat(commit)
179
+ @git.stat(commit)
180
+ end
181
+
182
+ def diff(commit)
183
+ @git.diff(commit)
184
+ end
185
+
159
186
  def unlock
160
187
  File.unlink lock_file
161
188
  end
@@ -148,6 +148,9 @@ pre.terminal {
148
148
  .terminal a {
149
149
  color: inherit;
150
150
  text-decoration: none;
151
+ }
152
+
153
+ .terminal a.build {
151
154
  font-weight: bold;
152
155
  border-bottom: dashed #ccc 1px;
153
156
  margin: 4px 0;
@@ -191,3 +194,9 @@ ul.projects {
191
194
  width: 75%;
192
195
  overflow: hidden;
193
196
  }
197
+
198
+ label {
199
+ display: inline-block;
200
+ min-width: 120px;
201
+ font-weight: bold;
202
+ }
@@ -1,18 +1,22 @@
1
1
  <h1><%= project.name %></h1>
2
2
 
3
- <a href="/projects/<%= project.name %>"><< back</a>
3
+ <a href="/projects/<%= project.basename %>"><< back</a>
4
4
  <br /><br />
5
5
 
6
6
  <h2 class="<%= build.status %>"><%= build.commit %></h2>
7
-
7
+ <div class="column">
8
8
  <% if build.status == "passed" %>
9
- <a href='/projects/<%= project.name %>/build/<%= build.commit %>/tar_ball'>download</a>
9
+ <a href='/projects/<%= project.basename %>/build/<%= build.commit %>/tar_ball'>download</a>
10
10
  <br /><br />
11
11
  <% end %>
12
12
 
13
13
  | <% build.logs.each do |log| %>
14
14
  <a href="#<%= log.file_name %>"><%= log.file_name %></a> |
15
15
  <% end %>
16
+ </div>
17
+ <div class="column">
18
+ <a href="/projects/<%= project.basename %>/commit/<%= build.commit %>">Want to see the commit?</a>
19
+ </div>
16
20
  <br class="clear" />
17
21
  <br />
18
22
  <br />
@@ -20,6 +24,6 @@
20
24
  <% build.logs.each do |log| %>
21
25
  <h3 class="log"><%= log.file_name %></h3>
22
26
  <a name="<%= log.file_name %>" href="#top" class="top">top</a>
23
- <pre class="terminal"><%= ansi_color_codes(log.contents) %></pre>
27
+ <pre class="terminal"><%= ansi_color_codes(h(log.contents)) %></pre>
24
28
  <% end %>
25
29
  <br /><br />
@@ -0,0 +1,10 @@
1
+ <h1><%= project.name %></h1>
2
+
3
+ <a href="/projects/<%= project.basename %>"><< back</a>
4
+ <br /><br />
5
+
6
+ <h2><%= commit %></h2>
7
+
8
+ <pre class="terminal"><%= ansi_color_codes(h(stat)) %>
9
+
10
+ <%= ansi_color_codes(h(diff)) %></pre>
@@ -0,0 +1,21 @@
1
+ <h1>Configure <%= project.name %></h1>
2
+
3
+ <form method="POST" action="/projects/<%= project.basename %>">
4
+ <label for="name">Name</label>
5
+ <input type="text" name="name" value="<%= project.name %>" />
6
+ <br />
7
+ <br />
8
+
9
+ <label for="branch">Integration branch</label>
10
+ <select name="branch">
11
+ <option value="">...</option>
12
+ <% project.integration_branches.each do |branch| %>
13
+ <% branch_name = branch.split("/").last %>
14
+ <option value="<%= branch_name %>" <%= "selected" if branch_name == project.integration_branch %>><%= branch %></option>
15
+ <% end %>
16
+ </select>
17
+
18
+ <br />
19
+ <br />
20
+ <input type="submit" />
21
+ </form>
@@ -2,7 +2,10 @@
2
2
  <h1>Projects</h1>
3
3
  <ul class="projects">
4
4
  <% projects.each do |project| %>
5
- <li class="<%= project.build_status %>"><a href="/projects/<%= project.name %>"><%= project.name %></a> - <%= project.build_status %></li>
5
+ <li class="<%= project.build_status %>">
6
+ <a href="/projects/<%= project.basename %>"><%= project.name %></a>
7
+ - <%= project.build_status %>
8
+ </li>
6
9
  <% end %>
7
10
  </ul>
8
11
  </div>
@@ -9,21 +9,29 @@
9
9
  latest = builds.select { |b| b.commit == project.latest_build }.first
10
10
  %>
11
11
 
12
- <h2>Overview</h2>
13
- <strong class="label">Current</strong> :
14
- <% unless current.nil? %>
15
- <a class="<%= current.status %>" href="/projects/<%= project.name %>/build/<%= current.commit %>"><%= current.commit %></a>
16
- <% end %>
17
- <br />
18
- <strong class="label">Latest successful</strong> :
19
- <% unless latest.nil? %>
20
- <a class="<%= latest.status %>" href="/projects/<%= project.name %>/build/<%= latest.commit %>"><%= latest == current ? "current" : latest.commit %></a>
21
- <% end %>
22
- <br />
12
+ <div class="column">
13
+ <h2>Overview</h2>
14
+ <strong class="label">Current</strong> :
15
+ <% unless current.nil? %>
16
+ <a class="<%= current.status %>" href="/projects/<%= project.basename %>/build/<%= current.commit %>"><%= current.commit %></a>
17
+ <% end %>
18
+ <br />
19
+ <strong class="label">Latest successful</strong> :
20
+ <% unless latest.nil? %>
21
+ <a class="<%= latest.status %>" href="/projects/<%= project.basename %>/build/<%= latest.commit %>"><%= latest == current ? "current" : latest.commit %></a>
22
+ <% end %>
23
+ <br />
24
+ <strong class="label">Integration branch</strong> :
25
+ <%= project.integration_branch %>
26
+ <br />
27
+ </div>
28
+ <div class="column">
29
+ <a href="/projects/<%= project.basename %>/configure">Configure <%= project.name %></a>
30
+ </div>
31
+ <br class="clear"/>
23
32
  <br />
24
33
  <br />
25
34
 
26
35
  <h2>Build history</h2>
27
- <pre class="history terminal"><% project.log.each do |line| %><% build = nil; if (build = line[:build]) %><a title="<%= build.author %>" href="/projects/<%= project.name %>/build/<%= build.commit %>"><%= ansi_color_codes(line[:line]).chomp %></a> <span class="status">[<span class="<%= build.status %>"><%= build.status %></span>] (<%= build.date %>, <%= build.author.gsub '<', '&lt;' %>)</span>
28
- <% else %><%= ansi_color_codes line[:line] %>
29
- <% end %><% end %></pre>
36
+ <pre class="history terminal"><% project.log.each do |line| %><% build = nil %><%= ansi_color_codes line[:graph] %><a href="/projects/<%= project.basename %>/commit/<%= line[:commit] %>"><%= line[:commit] %></a><% if (build = line[:build]) %><a class="build" href="/projects/<%= project.basename %>/build/<%= build.commit %>"><%= ansi_color_codes(line[:message]) %></a> <span class="status">[<span class="<%= build.status %>"><%= build.status %></span>] (<%= build.date %>, <%= build.author.gsub '<', '&lt;' %>)</span><% else %><%= ansi_color_codes line[:message] %><% end %>
37
+ <% end %></pre>
data/lib/heidi/web.rb CHANGED
@@ -84,18 +84,52 @@ class Heidi
84
84
 
85
85
  end
86
86
 
87
- put '/projects/:name/build' do
88
- project = $heidi[params[:name]]
87
+ get '/projects/:name/commit/:commit' do
88
+ project = @heidi[params[:name]]
89
89
  if project.nil?
90
90
  return "no project by that name: #{params[:name]}"
91
91
  end
92
92
 
93
- project.integrate
93
+ commit = params[:commit]
94
+
95
+ erb(:commit, { :locals => {
96
+ :commit => commit,
97
+ :project => project,
98
+ :stat => project.stat(commit),
99
+ :diff => project.diff(commit),
100
+ }})
94
101
  end
95
102
 
103
+ get '/projects/:name/configure' do
104
+ project = @heidi[params[:name]]
105
+ if project.nil?
106
+ return "no project by that name: #{params[:name]}"
107
+ end
108
+
109
+ erb(:config, { :locals => { :project => project } } )
110
+ end
111
+
112
+ post '/projects/:project_name' do
113
+ # update project
114
+ project = @heidi[params[:project_name]]
115
+ if project.nil?
116
+ return "no project by that name: #{params[:project_name]}"
117
+ end
118
+
119
+ project.name = params[:name]
120
+ project.integration_branch = params[:branch]
121
+
122
+
123
+ redirect "/projects/#{project.basename}", 302
124
+ end
96
125
 
97
126
  helpers do
127
+ include Rack::Utils
128
+ alias_method :h, :escape_html
129
+
98
130
  def ansi_color_codes(string)
131
+ return "" if string.nil?
132
+
99
133
  string.gsub(/\e\[0?m/, '</span>').
100
134
  gsub /\e\[[^m]+m/ do |codes|
101
135
  colors = codes.gsub(/[\e\[m]+/, '')
metadata CHANGED
@@ -1,116 +1,116 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: heidi
3
- version: !ruby/object:Gem::Version
4
- version: 0.2.1
3
+ version: !ruby/object:Gem::Version
5
4
  prerelease:
5
+ version: 0.3.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Hartog C. de Mik
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-02-09 00:00:00.000000000Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
12
+
13
+ date: 2012-02-14 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
15
16
  name: thin
16
- requirement: &90563140 !ruby/object:Gem::Requirement
17
+ requirement: &id001 !ruby/object:Gem::Requirement
17
18
  none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: '0'
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: "0"
22
23
  type: :runtime
23
24
  prerelease: false
24
- version_requirements: *90563140
25
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
26
27
  name: sinatra
27
- requirement: &90562840 !ruby/object:Gem::Requirement
28
+ requirement: &id002 !ruby/object:Gem::Requirement
28
29
  none: false
29
- requirements:
30
- - - ! '>='
31
- - !ruby/object:Gem::Version
32
- version: '0'
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
33
34
  type: :runtime
34
35
  prerelease: false
35
- version_requirements: *90562840
36
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
37
38
  name: simple_shell
38
- requirement: &90562490 !ruby/object:Gem::Requirement
39
+ requirement: &id003 !ruby/object:Gem::Requirement
39
40
  none: false
40
- requirements:
41
- - - ! '>='
42
- - !ruby/object:Gem::Version
43
- version: '0'
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: "0"
44
45
  type: :runtime
45
46
  prerelease: false
46
- version_requirements: *90562490
47
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
48
49
  name: rspec
49
- requirement: &90562160 !ruby/object:Gem::Requirement
50
+ requirement: &id004 !ruby/object:Gem::Requirement
50
51
  none: false
51
- requirements:
52
+ requirements:
52
53
  - - ~>
53
- - !ruby/object:Gem::Version
54
+ - !ruby/object:Gem::Version
54
55
  version: 2.8.0
55
56
  type: :development
56
57
  prerelease: false
57
- version_requirements: *90562160
58
- - !ruby/object:Gem::Dependency
58
+ version_requirements: *id004
59
+ - !ruby/object:Gem::Dependency
59
60
  name: rdoc
60
- requirement: &90561910 !ruby/object:Gem::Requirement
61
+ requirement: &id005 !ruby/object:Gem::Requirement
61
62
  none: false
62
- requirements:
63
+ requirements:
63
64
  - - ~>
64
- - !ruby/object:Gem::Version
65
- version: '3.12'
65
+ - !ruby/object:Gem::Version
66
+ version: "3.12"
66
67
  type: :development
67
68
  prerelease: false
68
- version_requirements: *90561910
69
- - !ruby/object:Gem::Dependency
69
+ version_requirements: *id005
70
+ - !ruby/object:Gem::Dependency
70
71
  name: bundler
71
- requirement: &90561560 !ruby/object:Gem::Requirement
72
+ requirement: &id006 !ruby/object:Gem::Requirement
72
73
  none: false
73
- requirements:
74
+ requirements:
74
75
  - - ~>
75
- - !ruby/object:Gem::Version
76
+ - !ruby/object:Gem::Version
76
77
  version: 1.0.0
77
78
  type: :development
78
79
  prerelease: false
79
- version_requirements: *90561560
80
- - !ruby/object:Gem::Dependency
80
+ version_requirements: *id006
81
+ - !ruby/object:Gem::Dependency
81
82
  name: jeweler
82
- requirement: &90561290 !ruby/object:Gem::Requirement
83
+ requirement: &id007 !ruby/object:Gem::Requirement
83
84
  none: false
84
- requirements:
85
+ requirements:
85
86
  - - ~>
86
- - !ruby/object:Gem::Version
87
+ - !ruby/object:Gem::Version
87
88
  version: 1.8.3
88
89
  type: :development
89
90
  prerelease: false
90
- version_requirements: *90561290
91
- - !ruby/object:Gem::Dependency
91
+ version_requirements: *id007
92
+ - !ruby/object:Gem::Dependency
92
93
  name: rcov
93
- requirement: &90560970 !ruby/object:Gem::Requirement
94
+ requirement: &id008 !ruby/object:Gem::Requirement
94
95
  none: false
95
- requirements:
96
- - - ! '>='
97
- - !ruby/object:Gem::Version
98
- version: '0'
96
+ requirements:
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: "0"
99
100
  type: :development
100
101
  prerelease: false
101
- version_requirements: *90560970
102
+ version_requirements: *id008
102
103
  description: CI-Joe alike CI system called Heidi.
103
104
  email: hartog@organisedminds.com
104
- executables:
105
+ executables:
105
106
  - heidi
106
- - heidi_console
107
- - heidi_cron
108
107
  - heidi_web
109
108
  extensions: []
110
- extra_rdoc_files:
109
+
110
+ extra_rdoc_files:
111
111
  - LICENSE.txt
112
112
  - README.rdoc
113
- files:
113
+ files:
114
114
  - .document
115
115
  - .rspec
116
116
  - Gemfile
@@ -120,8 +120,6 @@ files:
120
120
  - Rakefile
121
121
  - VERSION
122
122
  - bin/heidi
123
- - bin/heidi_console
124
- - bin/heidi_cron
125
123
  - bin/heidi_web
126
124
  - heidi.gemspec
127
125
  - lib/heidi.rb
@@ -139,6 +137,8 @@ files:
139
137
  - lib/heidi/web/public/images/OrganisedMinds.png
140
138
  - lib/heidi/web/public/images/heidi.jpeg
141
139
  - lib/heidi/web/views/build.erb
140
+ - lib/heidi/web/views/commit.erb
141
+ - lib/heidi/web/views/config.erb
142
142
  - lib/heidi/web/views/home.erb
143
143
  - lib/heidi/web/views/layout.erb
144
144
  - lib/heidi/web/views/project.erb
@@ -153,31 +153,34 @@ files:
153
153
  - spec/heidi_spec.rb
154
154
  - spec/spec_helper.rb
155
155
  homepage: http://github.com/coffeeaddict/heid
156
- licenses:
156
+ licenses:
157
157
  - MIT
158
158
  post_install_message:
159
159
  rdoc_options: []
160
- require_paths:
160
+
161
+ require_paths:
161
162
  - lib
162
- required_ruby_version: !ruby/object:Gem::Requirement
163
+ required_ruby_version: !ruby/object:Gem::Requirement
163
164
  none: false
164
- requirements:
165
- - - ! '>='
166
- - !ruby/object:Gem::Version
167
- version: '0'
168
- segments:
165
+ requirements:
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ hash: 2807118662915516022
169
+ segments:
169
170
  - 0
170
- hash: -727738623
171
- required_rubygems_version: !ruby/object:Gem::Requirement
171
+ version: "0"
172
+ required_rubygems_version: !ruby/object:Gem::Requirement
172
173
  none: false
173
- requirements:
174
- - - ! '>='
175
- - !ruby/object:Gem::Version
176
- version: '0'
174
+ requirements:
175
+ - - ">="
176
+ - !ruby/object:Gem::Version
177
+ version: "0"
177
178
  requirements: []
179
+
178
180
  rubyforge_project:
179
- rubygems_version: 1.8.10
181
+ rubygems_version: 1.8.16
180
182
  signing_key:
181
183
  specification_version: 3
182
184
  summary: A naive CI system
183
185
  test_files: []
186
+
data/bin/heidi_console DELETED
@@ -1,3 +0,0 @@
1
- #!/bin/sh
2
-
3
- irb -I $HEIDI_LOAD_PATH -r heidi
data/bin/heidi_cron DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require './lib/heidi'
4
-
5
- heidi = Heidi.new
6
- heidi.projects.each do |project|
7
- project.integrate
8
- end