procfile-upstart-exporter 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.travis.yml +5 -0
- data/README.md +22 -1
- data/lib/procfile_upstart_exporter/environment_parser.rb +5 -3
- data/lib/procfile_upstart_exporter/procfile_parser.rb +10 -4
- data/lib/procfile_upstart_exporter/version.rb +1 -1
- data/procfile-upstart-exporter.gemspec +1 -0
- data/spec/fixtures/environment-with-spaces-and-comments +8 -0
- data/spec/fixtures/sample-application/{.env → environment} +0 -0
- data/spec/procfile_upstart_exporter/creator_spec.rb +2 -2
- data/spec/procfile_upstart_exporter/environment_parser_spec.rb +12 -1
- data/spec/procfile_upstart_exporter/procfile_parser_spec.rb +8 -0
- data/spec/spec_helper.rb +3 -0
- metadata +113 -118
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 2d2d1e53d73c1d9c485b125698e2e0ab41528de6
|
4
|
+
data.tar.gz: 4f13e9cb6eee0144dfb49ea5a000606b2403533d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 9ea702b920af27f119b7266aabc033b72ea4f809621fc2fc57c1f7aae53b6a806ab4b5fdd191bf1925ab19787e3878bab6d8056f823c969ce2c5082feb3afcc9
|
7
|
+
data.tar.gz: 343a676082a37552fee0982068e24233ac63dd64c8560b19e5ceddda96bc269e4e70c198e978e1c2c7f79f8221695d1c1807a73e299ae81275f5dcacc1fbbbff
|
data/.travis.yml
ADDED
data/README.md
CHANGED
@@ -50,7 +50,7 @@ Usage
|
|
50
50
|
### Create [Upstart][upstart] jobs configuration
|
51
51
|
|
52
52
|
```console
|
53
|
-
# procfile-upstart-exporter
|
53
|
+
# procfile-upstart-exporter create \
|
54
54
|
--application <application> \
|
55
55
|
--procfile <path-to-procfile> \
|
56
56
|
--log <path-to-log> \
|
@@ -69,6 +69,27 @@ Usage
|
|
69
69
|
--verbose
|
70
70
|
```
|
71
71
|
|
72
|
+
Changelog
|
73
|
+
---------
|
74
|
+
|
75
|
+
### `v0.0.2`
|
76
|
+
|
77
|
+
- Warn if `Procfile` or `.env` don't exist.
|
78
|
+
- Treat properly spaces and comment lines in `.env`.
|
79
|
+
|
80
|
+
### `v0.0.1`
|
81
|
+
|
82
|
+
- First implementation of `craete` and `destroy` commands with basic
|
83
|
+
functionality.
|
84
|
+
|
85
|
+
New release procedure
|
86
|
+
---------------------
|
87
|
+
|
88
|
+
1. Update changelog.
|
89
|
+
2. Bump version.
|
90
|
+
3. Push tag with version. For example, `v1.2.3`.
|
91
|
+
4. Publish in [RubyGems][ruby-gem].
|
92
|
+
|
72
93
|
License
|
73
94
|
-------
|
74
95
|
|
@@ -3,10 +3,12 @@ class ProcfileUpstartExporter::EnvironmentParser
|
|
3
3
|
ProcfileUpstartExporter.logger.debug "Start parsing environment file " \
|
4
4
|
"`#{ environment }'"
|
5
5
|
if File.exists? environment
|
6
|
-
File.read(environment).split("\n")
|
6
|
+
File.read(environment).split("\n").reject { |line|
|
7
|
+
line =~ /\A\s*(?:#.*)?\z/
|
8
|
+
}
|
7
9
|
else
|
8
|
-
ProcfileUpstartExporter.logger.
|
9
|
-
|
10
|
+
ProcfileUpstartExporter.logger.warn "Environment file " \
|
11
|
+
"`#{ environment }' does not exist"
|
10
12
|
[]
|
11
13
|
end
|
12
14
|
end
|
@@ -2,10 +2,16 @@ class ProcfileUpstartExporter::ProcfileParser
|
|
2
2
|
def parse procfile
|
3
3
|
ProcfileUpstartExporter.logger.debug 'Start parsing Procfile ' \
|
4
4
|
"`#{ procfile }'"
|
5
|
-
File.
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
if File.exists? procfile
|
6
|
+
File.read(procfile).split("\n").map do |process_line|
|
7
|
+
ProcfileUpstartExporter::Process.new(
|
8
|
+
*process_line.scan(/\A([^:]+):(.*)\z/).first.map(&:strip)
|
9
|
+
)
|
10
|
+
end
|
11
|
+
else
|
12
|
+
ProcfileUpstartExporter.logger.warn "Procfile file " \
|
13
|
+
"`#{ procfile }' does not exist"
|
14
|
+
[]
|
9
15
|
end
|
10
16
|
end
|
11
17
|
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# This is a comment, it should not be treated as environment variable.
|
2
|
+
# The following line is empty, it should also be ignored:
|
3
|
+
|
4
|
+
# The following line contains only spaces, thus should be ignored as well:
|
5
|
+
|
6
|
+
# This is a comment that starts after a few spaces
|
7
|
+
|
8
|
+
AN_ENVIRONMENT_VARIABLE=at_least
|
File without changes
|
@@ -15,7 +15,7 @@ describe ProcfileUpstartExporter::Creator do
|
|
15
15
|
let(:procfile) { 'Procfile' }
|
16
16
|
let(:log) { "#{ temp_dir }/log" }
|
17
17
|
let(:application_log) { "#{ log }/#{ application}" }
|
18
|
-
let(:environment) { '
|
18
|
+
let(:environment) { 'environment' }
|
19
19
|
let(:user) { 'bin' }
|
20
20
|
let(:upstart_jobs_path) { temp_dir }
|
21
21
|
let(:application_root) {
|
@@ -95,7 +95,7 @@ JOB_CONFIGURATION
|
|
95
95
|
expect(File.directory? application_log).to be_true
|
96
96
|
end
|
97
97
|
|
98
|
-
it "places environment variables from
|
98
|
+
it "places environment variables from environment file in Upstart job" do
|
99
99
|
act
|
100
100
|
expect(
|
101
101
|
File.read("#{ upstart_jobs_path }/#{ application }/background.conf")
|
@@ -8,7 +8,7 @@ describe ProcfileUpstartExporter::EnvironmentParser do
|
|
8
8
|
describe '#parse' do
|
9
9
|
subject(:environment_variables) { environment_parser.parse environment }
|
10
10
|
|
11
|
-
let(:environment) { 'spec/fixtures/sample-application
|
11
|
+
let(:environment) { 'spec/fixtures/sample-application/environment' }
|
12
12
|
|
13
13
|
it 'reads the environment file' do
|
14
14
|
expect(File).to receive(:read).with(environment).and_call_original
|
@@ -28,5 +28,16 @@ describe ProcfileUpstartExporter::EnvironmentParser do
|
|
28
28
|
expect(environment_variables).to eq([])
|
29
29
|
end
|
30
30
|
end
|
31
|
+
|
32
|
+
context 'environment file has empty lines and comments' do
|
33
|
+
let(:environment) {
|
34
|
+
'spec/fixtures/environment-with-spaces-and-comments'
|
35
|
+
}
|
36
|
+
it 'removes the empty lines and comments' do
|
37
|
+
expect(environment_variables).to eq(
|
38
|
+
['AN_ENVIRONMENT_VARIABLE=at_least']
|
39
|
+
)
|
40
|
+
end
|
41
|
+
end
|
31
42
|
end
|
32
43
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,121 +1,124 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: procfile-upstart-exporter
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 1
|
10
|
-
version: 0.0.1
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Das Dad
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2013-10-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
22
14
|
name: thor
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 3
|
30
|
-
segments:
|
31
|
-
- 0
|
32
|
-
version: "0"
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
33
20
|
type: :runtime
|
34
|
-
version_requirements: *id001
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: values
|
37
21
|
prerelease: false
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: values
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
47
34
|
type: :runtime
|
48
|
-
version_requirements: *id002
|
49
|
-
- !ruby/object:Gem::Dependency
|
50
|
-
name: bundler
|
51
35
|
prerelease: false
|
52
|
-
|
53
|
-
|
54
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
55
45
|
- - ~>
|
56
|
-
- !ruby/object:Gem::Version
|
57
|
-
|
58
|
-
segments:
|
59
|
-
- 1
|
60
|
-
- 3
|
61
|
-
version: "1.3"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.3'
|
62
48
|
type: :development
|
63
|
-
version_requirements: *id003
|
64
|
-
- !ruby/object:Gem::Dependency
|
65
|
-
name: rake
|
66
49
|
prerelease: false
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ~>
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
76
62
|
type: :development
|
77
|
-
version_requirements: *id004
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: rspec
|
80
63
|
prerelease: false
|
81
|
-
|
82
|
-
|
83
|
-
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
84
73
|
- - ~>
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
|
87
|
-
segments:
|
88
|
-
- 2
|
89
|
-
- 14
|
90
|
-
version: "2.14"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2.14'
|
91
76
|
type: :development
|
92
|
-
|
93
|
-
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2.14'
|
83
|
+
- !ruby/object:Gem::Dependency
|
94
84
|
name: pry-nav
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
95
91
|
prerelease: false
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: coveralls
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
105
104
|
type: :development
|
106
|
-
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
107
111
|
description: Export Procfile entries to Upstart jobs.
|
108
|
-
email:
|
112
|
+
email:
|
109
113
|
- dev@dasdad.com.br
|
110
|
-
executables:
|
114
|
+
executables:
|
111
115
|
- procfile-upstart-exporter
|
112
116
|
extensions: []
|
113
|
-
|
114
117
|
extra_rdoc_files: []
|
115
|
-
|
116
|
-
files:
|
118
|
+
files:
|
117
119
|
- .gitignore
|
118
120
|
- .rspec
|
121
|
+
- .travis.yml
|
119
122
|
- Gemfile
|
120
123
|
- README.md
|
121
124
|
- Rakefile
|
@@ -131,8 +134,9 @@ files:
|
|
131
134
|
- lib/procfile_upstart_exporter/procfile_parser.rb
|
132
135
|
- lib/procfile_upstart_exporter/version.rb
|
133
136
|
- procfile-upstart-exporter.gemspec
|
134
|
-
- spec/fixtures/
|
137
|
+
- spec/fixtures/environment-with-spaces-and-comments
|
135
138
|
- spec/fixtures/sample-application/Procfile
|
139
|
+
- spec/fixtures/sample-application/environment
|
136
140
|
- spec/procfile_upstart_exporter/creator_spec.rb
|
137
141
|
- spec/procfile_upstart_exporter/destroyer_spec.rb
|
138
142
|
- spec/procfile_upstart_exporter/environment_parser_spec.rb
|
@@ -142,43 +146,34 @@ files:
|
|
142
146
|
- spec/support/temp_dir.rb
|
143
147
|
- templates/application.conf
|
144
148
|
- templates/process.conf.erb
|
145
|
-
has_rdoc: true
|
146
149
|
homepage: https://github.com/dasdad/procfile-upstart-exporter
|
147
|
-
licenses:
|
150
|
+
licenses:
|
148
151
|
- MIT
|
152
|
+
metadata: {}
|
149
153
|
post_install_message:
|
150
154
|
rdoc_options: []
|
151
|
-
|
152
|
-
require_paths:
|
155
|
+
require_paths:
|
153
156
|
- lib
|
154
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
none: false
|
165
|
-
requirements:
|
166
|
-
- - ">="
|
167
|
-
- !ruby/object:Gem::Version
|
168
|
-
hash: 3
|
169
|
-
segments:
|
170
|
-
- 0
|
171
|
-
version: "0"
|
157
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
158
|
+
requirements:
|
159
|
+
- - '>='
|
160
|
+
- !ruby/object:Gem::Version
|
161
|
+
version: '0'
|
162
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
172
167
|
requirements: []
|
173
|
-
|
174
168
|
rubyforge_project:
|
175
|
-
rubygems_version:
|
169
|
+
rubygems_version: 2.0.3
|
176
170
|
signing_key:
|
177
|
-
specification_version:
|
171
|
+
specification_version: 4
|
178
172
|
summary: Solve common problems with `foreman export`
|
179
|
-
test_files:
|
180
|
-
- spec/fixtures/
|
173
|
+
test_files:
|
174
|
+
- spec/fixtures/environment-with-spaces-and-comments
|
181
175
|
- spec/fixtures/sample-application/Procfile
|
176
|
+
- spec/fixtures/sample-application/environment
|
182
177
|
- spec/procfile_upstart_exporter/creator_spec.rb
|
183
178
|
- spec/procfile_upstart_exporter/destroyer_spec.rb
|
184
179
|
- spec/procfile_upstart_exporter/environment_parser_spec.rb
|