foreman 0.19.0 → 0.20.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.
@@ -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
-