kiel 0.5.1 → 0.5.2
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/lib/kiel.rb +17 -4
- metadata +3 -3
data/lib/kiel.rb
CHANGED
@@ -24,7 +24,7 @@ module Kiel
|
|
24
24
|
DEFAULT_OPTIONS = {}
|
25
25
|
RECOGNIZED_OPTIONS = [ :scm, :cloud, :setup, :base_image, :root_dir ]
|
26
26
|
|
27
|
-
class Implementation
|
27
|
+
class Implementation # :nodoc: all
|
28
28
|
def initialize defaults
|
29
29
|
@defaults = defaults.dup
|
30
30
|
end
|
@@ -51,6 +51,7 @@ module Kiel
|
|
51
51
|
@defaults[ :setup ] ||= Setup::Capistrano.new
|
52
52
|
end
|
53
53
|
|
54
|
+
# fully expands the given file_name or array of file names
|
54
55
|
def expand_path file_name
|
55
56
|
@defaults[ :root_dir ] ||= Dir.pwd
|
56
57
|
|
@@ -78,7 +79,9 @@ module Kiel
|
|
78
79
|
{ :tags => build_tags( step, steps ) }
|
79
80
|
end
|
80
81
|
end
|
81
|
-
|
82
|
+
|
83
|
+
# this function creates the rake task, by first checking if the image already exists and then starting the
|
84
|
+
# base image and running the setup step
|
82
85
|
def create_task step, steps
|
83
86
|
task = Rake::Task::define_task( step[ :task ] => steps.collect{ | s | s[ :task ] } ) do | task, arguments |
|
84
87
|
tags = build_tags step, steps
|
@@ -131,6 +134,10 @@ module Kiel
|
|
131
134
|
}
|
132
135
|
end
|
133
136
|
|
137
|
+
def self.default_setup_name step
|
138
|
+
step[ :scm_name ] == '*' ? "#{step[ :name ]}.rb" : [ step[ :scm_name ] ].flatten.first
|
139
|
+
end
|
140
|
+
|
134
141
|
def self.expand_steps steps
|
135
142
|
raise ArgumentError, "no steps given" if steps.empty?
|
136
143
|
|
@@ -162,7 +169,7 @@ module Kiel
|
|
162
169
|
}.merge step
|
163
170
|
end.collect do | step |
|
164
171
|
{
|
165
|
-
:setup_name =>
|
172
|
+
:setup_name => default_setup_name( step )
|
166
173
|
}.merge step
|
167
174
|
end
|
168
175
|
|
@@ -187,9 +194,15 @@ module Kiel
|
|
187
194
|
# :scm_name:: The name that is passed to the source code management to determine the version of the description
|
188
195
|
# of the step. If not given, +name+ is expanded to +name.rb+ in the current directory. For the first
|
189
196
|
# element this defaults to '*', which is a special notation for the latest version of the repository.
|
197
|
+
#
|
198
|
+
# It's possible for :scm_name to be an array of file names. This results in an execution of the step,
|
199
|
+
# when every any of the listed file changed.
|
190
200
|
#
|
191
201
|
# :setup_name:: The name of the script to be executed. This defaults to :scm_name if given and not '*' or to
|
192
|
-
# :name + '.rb'
|
202
|
+
# :name + '.rb'. If :scm_name is an array, :setup_name defaults to the first element of the array.
|
203
|
+
#
|
204
|
+
# So :scm_name => [ 'run_bundler.rb', 'Gemfile', 'Gemfile.lock' ] would default to execute
|
205
|
+
# 'run_bundler.rb'
|
193
206
|
#
|
194
207
|
# :description:: Optional description for the task to be created.
|
195
208
|
#
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kiel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name:
|
@@ -65,7 +65,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
65
65
|
version: '0'
|
66
66
|
segments:
|
67
67
|
- 0
|
68
|
-
hash:
|
68
|
+
hash: -4037234922454547452
|
69
69
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
70
70
|
none: false
|
71
71
|
requirements:
|