foreman 0.19.0 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -25,7 +25,7 @@ class Foreman::Engine
25
25
  @processes ||= begin
26
26
  @order = []
27
27
  procfile.split("\n").inject({}) do |hash, line|
28
- next if line.strip == ""
28
+ next hash if line.strip == ""
29
29
  name, command = line.split(/ *: +/, 2)
30
30
  unless command
31
31
  warn_deprecated_procfile!
@@ -119,7 +119,7 @@ private ######################################################################
119
119
  end
120
120
  end
121
121
  end
122
- rescue PTY::ChildExited, Interrupt
122
+ rescue PTY::ChildExited, Interrupt, Errno::EIO
123
123
  begin
124
124
  info "process exiting", process
125
125
  rescue Interrupt
@@ -26,6 +26,8 @@ private ######################################################################
26
26
  def export_template(exporter, file, template_root)
27
27
  if template_root && File.exist?(file_path = File.join(template_root, file))
28
28
  File.read(file_path)
29
+ elsif File.exist?(file_path = File.join("~/.foreman/templates", file))
30
+ File.read(file_path)
29
31
  else
30
32
  File.read(File.expand_path("../../../../data/export/#{exporter}/#{file}", __FILE__))
31
33
  end
@@ -1,5 +1,5 @@
1
1
  module Foreman
2
2
 
3
- VERSION = "0.19.0"
3
+ VERSION = "0.20.0"
4
4
 
5
5
  end
data/man/foreman.1 CHANGED
@@ -1,7 +1,7 @@
1
1
  .\" generated with Ronn/v0.7.3
2
2
  .\" http://github.com/rtomayko/ronn/tree/0.7.3
3
3
  .
4
- .TH "FOREMAN" "1" "May 2011" "Foreman 0.15.0" "Foreman Manual"
4
+ .TH "FOREMAN" "1" "August 2011" "Foreman 0.19.0" "Foreman Manual"
5
5
  .
6
6
  .SH "NAME"
7
7
  \fBforeman\fR \- manage Procfile\-based applications
@@ -69,7 +69,7 @@ These options control all modes of foreman\'s operation\.
69
69
  .
70
70
  .TP
71
71
  \fB\-e\fR, \fB\-\-env\fR
72
- Specify a file containing the environment that should be set up for each child process\. The file should be key/value pairs separated by \fB=\fR, with one key/value pair per line\.
72
+ Specify an alternate environment file\.
73
73
  .
74
74
  .TP
75
75
  \fB\-f\fR, \fB\-\-procfile\fR
@@ -141,6 +141,20 @@ $ foreman check
141
141
  .
142
142
  .IP "" 0
143
143
  .
144
+ .SH "ENVIRONMENT"
145
+ If a \fB\.env\fR file exists in the current directory, the default environment will be read from it\. This file should contain key/value pairs, separated by \fB=\fR, with one key/value pair per line\.
146
+ .
147
+ .IP "" 4
148
+ .
149
+ .nf
150
+
151
+ FOO=bar
152
+ BAZ=qux
153
+ .
154
+ .fi
155
+ .
156
+ .IP "" 0
157
+ .
144
158
  .SH "DEFAULT OPTIONS"
145
159
  If a \fB\.foreman\fR file exists in the current directory, default options will be read from it\. This file should be in YAML format with the long option name as keys\. Example:
146
160
  .
@@ -36,4 +36,20 @@ describe Foreman::Export::Upstart do
36
36
  File.read("/tmp/init/app.conf").should == "alternate_template\n"
37
37
  end
38
38
  end
39
+
40
+ context "with alternate templates from home dir" do
41
+ let(:default_template_root) {File.expand_path("~/.foreman/templates")}
42
+
43
+ before do
44
+ FileUtils.mkdir_p default_template_root
45
+ File.open("#{default_template_root}/master.conf.erb", "w") { |f| f.puts "default_alternate_template" }
46
+ end
47
+
48
+ it "can export with alternate template files" do
49
+ upstart.export("/tmp/init")
50
+
51
+ File.read("/tmp/init/app.conf").should == "default_alternate_template\n"
52
+ end
53
+ end
54
+
39
55
  end
data/spec/spec_helper.rb CHANGED
@@ -27,6 +27,7 @@ end
27
27
  def write_procfile(procfile="Procfile")
28
28
  File.open(procfile, "w") do |file|
29
29
  file.puts "alpha: ./alpha"
30
+ file.puts "\n"
30
31
  file.puts "bravo: ./bravo"
31
32
  end
32
33
  File.expand_path(procfile)
metadata CHANGED
@@ -1,126 +1,123 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: foreman
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.20.0
4
5
  prerelease:
5
- version: 0.19.0
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - David Dollar
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2011-06-27 00:00:00 -04:00
12
+ date: 2011-08-22 00:00:00.000000000 -04:00
14
13
  default_executable:
15
- dependencies:
16
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
17
16
  name: term-ansicolor
18
- prerelease: false
19
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &70126646392860 !ruby/object:Gem::Requirement
20
18
  none: false
21
- requirements:
19
+ requirements:
22
20
  - - ~>
23
- - !ruby/object:Gem::Version
21
+ - !ruby/object:Gem::Version
24
22
  version: 1.0.5
25
23
  type: :runtime
26
- version_requirements: *id001
27
- - !ruby/object:Gem::Dependency
28
- name: thor
29
24
  prerelease: false
30
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *70126646392860
26
+ - !ruby/object:Gem::Dependency
27
+ name: thor
28
+ requirement: &70126646392380 !ruby/object:Gem::Requirement
31
29
  none: false
32
- requirements:
33
- - - ">="
34
- - !ruby/object:Gem::Version
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
35
33
  version: 0.13.6
36
34
  type: :runtime
37
- version_requirements: *id002
38
- - !ruby/object:Gem::Dependency
39
- name: parka
40
35
  prerelease: false
41
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *70126646392380
37
+ - !ruby/object:Gem::Dependency
38
+ name: parka
39
+ requirement: &70126646392000 !ruby/object:Gem::Requirement
42
40
  none: false
43
- requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
47
45
  type: :development
48
- version_requirements: *id003
49
- - !ruby/object:Gem::Dependency
50
- name: rake
51
46
  prerelease: false
52
- requirement: &id004 !ruby/object:Gem::Requirement
47
+ version_requirements: *70126646392000
48
+ - !ruby/object:Gem::Dependency
49
+ name: rake
50
+ requirement: &70126646391520 !ruby/object:Gem::Requirement
53
51
  none: false
54
- requirements:
55
- - - ">="
56
- - !ruby/object:Gem::Version
57
- version: "0"
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
58
56
  type: :development
59
- version_requirements: *id004
60
- - !ruby/object:Gem::Dependency
61
- name: ronn
62
57
  prerelease: false
63
- requirement: &id005 !ruby/object:Gem::Requirement
58
+ version_requirements: *70126646391520
59
+ - !ruby/object:Gem::Dependency
60
+ name: ronn
61
+ requirement: &70126646391100 !ruby/object:Gem::Requirement
64
62
  none: false
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: "0"
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
69
67
  type: :development
70
- version_requirements: *id005
71
- - !ruby/object:Gem::Dependency
72
- name: fakefs
73
68
  prerelease: false
74
- requirement: &id006 !ruby/object:Gem::Requirement
69
+ version_requirements: *70126646391100
70
+ - !ruby/object:Gem::Dependency
71
+ name: fakefs
72
+ requirement: &70126646390600 !ruby/object:Gem::Requirement
75
73
  none: false
76
- requirements:
74
+ requirements:
77
75
  - - ~>
78
- - !ruby/object:Gem::Version
76
+ - !ruby/object:Gem::Version
79
77
  version: 0.2.1
80
78
  type: :development
81
- version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
83
- name: rcov
84
79
  prerelease: false
85
- requirement: &id007 !ruby/object:Gem::Requirement
80
+ version_requirements: *70126646390600
81
+ - !ruby/object:Gem::Dependency
82
+ name: rcov
83
+ requirement: &70126646389740 !ruby/object:Gem::Requirement
86
84
  none: false
87
- requirements:
85
+ requirements:
88
86
  - - ~>
89
- - !ruby/object:Gem::Version
87
+ - !ruby/object:Gem::Version
90
88
  version: 0.9.8
91
89
  type: :development
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
94
- name: rr
95
90
  prerelease: false
96
- requirement: &id008 !ruby/object:Gem::Requirement
91
+ version_requirements: *70126646389740
92
+ - !ruby/object:Gem::Dependency
93
+ name: rr
94
+ requirement: &70126646389100 !ruby/object:Gem::Requirement
97
95
  none: false
98
- requirements:
96
+ requirements:
99
97
  - - ~>
100
- - !ruby/object:Gem::Version
98
+ - !ruby/object:Gem::Version
101
99
  version: 1.0.2
102
100
  type: :development
103
- version_requirements: *id008
104
- - !ruby/object:Gem::Dependency
105
- name: rspec
106
101
  prerelease: false
107
- requirement: &id009 !ruby/object:Gem::Requirement
102
+ version_requirements: *70126646389100
103
+ - !ruby/object:Gem::Dependency
104
+ name: rspec
105
+ requirement: &70126646388400 !ruby/object:Gem::Requirement
108
106
  none: false
109
- requirements:
107
+ requirements:
110
108
  - - ~>
111
- - !ruby/object:Gem::Version
109
+ - !ruby/object:Gem::Version
112
110
  version: 2.6.0
113
111
  type: :development
114
- version_requirements: *id009
112
+ prerelease: false
113
+ version_requirements: *70126646388400
115
114
  description: Process manager for applications with multiple components
116
115
  email: ddollar@gmail.com
117
- executables:
116
+ executables:
118
117
  - foreman
119
118
  extensions: []
120
-
121
119
  extra_rdoc_files: []
122
-
123
- files:
120
+ files:
124
121
  - bin/foreman
125
122
  - bin/foreman-runner
126
123
  - data/example/error
@@ -159,30 +156,26 @@ files:
159
156
  has_rdoc: true
160
157
  homepage: http://github.com/ddollar/foreman
161
158
  licenses: []
162
-
163
159
  post_install_message:
164
160
  rdoc_options: []
165
-
166
- require_paths:
161
+ require_paths:
167
162
  - lib
168
- required_ruby_version: !ruby/object:Gem::Requirement
163
+ required_ruby_version: !ruby/object:Gem::Requirement
169
164
  none: false
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: "0"
174
- required_rubygems_version: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - ! '>='
167
+ - !ruby/object:Gem::Version
168
+ version: '0'
169
+ required_rubygems_version: !ruby/object:Gem::Requirement
175
170
  none: false
176
- requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- version: "0"
171
+ requirements:
172
+ - - ! '>='
173
+ - !ruby/object:Gem::Version
174
+ version: '0'
180
175
  requirements: []
181
-
182
176
  rubyforge_project:
183
177
  rubygems_version: 1.6.2
184
178
  signing_key:
185
179
  specification_version: 3
186
180
  summary: Process manager for applications with multiple components
187
181
  test_files: []
188
-