fluent_command_builder 0.5.6 → 0.6.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.
- data/lib/command_version_detector.rb +1 -0
- data/lib/fluent_command_builder/command_base.rb +20 -11
- data/lib/fluent_command_builder/command_builders/appcfg_python.rb +17 -0
- data/lib/fluent_command_builder/command_builders/appcfg_python_16.rb +1059 -1059
- data/lib/fluent_command_builder/command_builders/appcfg_python_17.rb +1055 -1055
- data/lib/fluent_command_builder/command_builders/aspnet_compiler.rb +17 -0
- data/lib/fluent_command_builder/command_builders/aspnet_compiler_20.rb +46 -46
- data/lib/fluent_command_builder/command_builders/aspnet_compiler_40.rb +46 -46
- data/lib/fluent_command_builder/command_builders/bundle.rb +17 -0
- data/lib/fluent_command_builder/command_builders/bundle_11.rb +140 -140
- data/lib/fluent_command_builder/command_builders/cucumber.rb +17 -0
- data/lib/fluent_command_builder/command_builders/cucumber_11.rb +76 -76
- data/lib/fluent_command_builder/command_builders/cucumber_12.rb +78 -78
- data/lib/fluent_command_builder/command_builders/dev_appserver_python.rb +17 -0
- data/lib/fluent_command_builder/command_builders/dev_appserver_python_16.rb +91 -86
- data/lib/fluent_command_builder/command_builders/dev_appserver_python_17.rb +91 -86
- data/lib/fluent_command_builder/command_builders/dotcover.rb +17 -0
- data/lib/fluent_command_builder/command_builders/dotcover_10.rb +33 -33
- data/lib/fluent_command_builder/command_builders/dotcover_11.rb +133 -133
- data/lib/fluent_command_builder/command_builders/dotcover_12.rb +133 -133
- data/lib/fluent_command_builder/command_builders/dotcover_20.rb +137 -137
- data/lib/fluent_command_builder/command_builders/installutil.rb +17 -0
- data/lib/fluent_command_builder/command_builders/installutil_11.rb +31 -31
- data/lib/fluent_command_builder/command_builders/installutil_20.rb +33 -33
- data/lib/fluent_command_builder/command_builders/installutil_35.rb +33 -33
- data/lib/fluent_command_builder/command_builders/installutil_40.rb +36 -36
- data/lib/fluent_command_builder/command_builders/msbuild.rb +17 -0
- data/lib/fluent_command_builder/command_builders/msbuild_20.rb +43 -43
- data/lib/fluent_command_builder/command_builders/msbuild_30.rb +43 -43
- data/lib/fluent_command_builder/command_builders/msbuild_35.rb +59 -59
- data/lib/fluent_command_builder/command_builders/msbuild_40.rb +62 -62
- data/lib/fluent_command_builder/command_builders/msdeploy.rb +17 -0
- data/lib/fluent_command_builder/command_builders/msdeploy_71.rb +177 -0
- data/lib/fluent_command_builder/command_builders/mstest.rb +17 -0
- data/lib/fluent_command_builder/command_builders/mstest_100.rb +127 -0
- data/lib/fluent_command_builder/command_builders/mstest_80.rb +107 -0
- data/lib/fluent_command_builder/command_builders/mstest_90.rb +112 -0
- data/lib/fluent_command_builder/command_builders/netsh.rb +17 -0
- data/lib/fluent_command_builder/command_builders/netsh_61.rb +408 -0
- data/lib/fluent_command_builder/command_builders/nunit.rb +17 -0
- data/lib/fluent_command_builder/command_builders/nunit_25.rb +69 -64
- data/lib/fluent_command_builder/command_builders/nunit_26.rb +85 -80
- data/lib/fluent_command_builder/command_builders/rake.rb +17 -0
- data/lib/fluent_command_builder/command_builders/rake_09.rb +64 -64
- data/lib/fluent_command_builder/command_builders/security_osx.rb +17 -0
- data/lib/fluent_command_builder/command_builders/security_osx_107.rb +82 -82
- data/lib/fluent_command_builder/command_builders/sevenzip.rb +17 -0
- data/lib/fluent_command_builder/command_builders/sevenzip_92.rb +243 -243
- data/lib/fluent_command_builder/command_builders/simian.rb +17 -0
- data/lib/fluent_command_builder/command_builders/simian_23.rb +63 -63
- data/lib/fluent_command_builder/command_builders/team_foundation.rb +17 -0
- data/lib/fluent_command_builder/command_builders/team_foundation_100.rb +2155 -0
- data/lib/fluent_command_builder/command_builders/team_foundation_tee.rb +17 -0
- data/lib/fluent_command_builder/command_builders/team_foundation_tee_100.rb +1978 -0
- data/lib/fluent_command_builder/command_builders/xcodebuild.rb +17 -0
- data/lib/fluent_command_builder/command_builders/xcodebuild_43.rb +112 -112
- data/lib/fluent_command_builder/command_builders/xcodebuild_44.rb +132 -132
- data/lib/fluent_command_builder/{command_builder.rb → underlying_builder.rb} +2 -2
- data/lib/fluent_command_builder/util.rb +18 -0
- data/lib/fluent_command_builder/version_detectors/appcfg_python.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/aspnet_compiler.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/bundle.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/cucumber.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/dev_appserver_python.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/dotcover.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/installutil.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/lib/appengine_python_version_detector.rb +16 -0
- data/lib/fluent_command_builder/version_detectors/lib/path_finder.rb +43 -0
- data/lib/fluent_command_builder/version_detectors/lib/standard_version_detector.rb +14 -0
- data/lib/fluent_command_builder/version_detectors/msbuild.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/msdeploy.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/mstest.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/nuget.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/nunit.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/rake.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/security_osx.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/sevenzip.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/team_foundation.rb +9 -0
- data/lib/fluent_command_builder/version_detectors/xcodebuild.rb +9 -0
- data/lib/fluent_command_builder.rb +26 -7
- metadata +53 -12
- data/lib/fluent_command_builder/command_builders/msdeploy_40.rb +0 -177
- data/lib/fluent_command_builder/command_builders/mstest_2005.rb +0 -107
- data/lib/fluent_command_builder/command_builders/mstest_2008.rb +0 -112
- data/lib/fluent_command_builder/command_builders/mstest_2010.rb +0 -127
- data/lib/fluent_command_builder/command_builders/netsh_2008.rb +0 -408
- data/lib/fluent_command_builder/command_builders/tf_2010.rb +0 -2155
- data/lib/fluent_command_builder/command_builders/tf_tee_2010.rb +0 -1978
|
@@ -1,306 +1,306 @@
|
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/../command_base')
|
|
2
|
-
require File.expand_path(File.dirname(__FILE__) + '/../
|
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/../underlying_builder')
|
|
3
3
|
|
|
4
4
|
module FluentCommandBuilder
|
|
5
|
+
def xcodebuild_44
|
|
6
|
+
FluentCommandBuilder::XCodeBuild::V44.create { |b| yield b if block_given? }
|
|
7
|
+
end
|
|
5
8
|
module XCodeBuild
|
|
6
9
|
module V44
|
|
7
|
-
|
|
10
|
+
def self.create
|
|
11
|
+
b = UnderlyingBuilder.new FluentCommandBuilder::XCodeBuild::COMMAND_NAME
|
|
12
|
+
c = XCodeBuild.new(b)
|
|
13
|
+
yield b if block_given?
|
|
14
|
+
c
|
|
15
|
+
end
|
|
16
|
+
def xcodebuild
|
|
17
|
+
FluentCommandBuilder::XCodeBuild::V44.create { |b| yield b if block_given? }
|
|
18
|
+
end
|
|
8
19
|
class XCodeBuild < CommandBase
|
|
9
|
-
def initialize(
|
|
10
|
-
super
|
|
20
|
+
def initialize(underlying_builder)
|
|
21
|
+
super underlying_builder
|
|
11
22
|
end
|
|
12
23
|
def build_project(build_action=nil)
|
|
13
|
-
BuildProject.new
|
|
24
|
+
BuildProject.new b, build_action
|
|
14
25
|
end
|
|
15
26
|
def build_project_scheme(build_action=nil)
|
|
16
|
-
BuildProjectScheme.new
|
|
27
|
+
BuildProjectScheme.new b, build_action
|
|
17
28
|
end
|
|
18
29
|
def build_workspace(workspace_name, build_action=nil)
|
|
19
|
-
BuildWorkspace.new
|
|
30
|
+
BuildWorkspace.new b, workspace_name, build_action
|
|
20
31
|
end
|
|
21
32
|
def version
|
|
22
|
-
Version.new
|
|
33
|
+
Version.new b
|
|
23
34
|
end
|
|
24
35
|
def list
|
|
25
|
-
|
|
26
|
-
yield
|
|
36
|
+
b.append ' -list'
|
|
37
|
+
yield b if block_given?
|
|
27
38
|
self
|
|
28
39
|
end
|
|
29
40
|
def list_project(project_name)
|
|
30
|
-
|
|
31
|
-
yield
|
|
41
|
+
b.append " -list -project #{b.format project_name}"
|
|
42
|
+
yield b if block_given?
|
|
32
43
|
self
|
|
33
44
|
end
|
|
34
45
|
def list_workspace(workspace_name)
|
|
35
|
-
|
|
36
|
-
yield
|
|
46
|
+
b.append " -list -workspace #{b.format workspace_name}"
|
|
47
|
+
yield b if block_given?
|
|
37
48
|
self
|
|
38
49
|
end
|
|
39
50
|
def find(binary)
|
|
40
|
-
|
|
41
|
-
yield
|
|
51
|
+
b.append " -find #{b.format binary}"
|
|
52
|
+
yield b if block_given?
|
|
42
53
|
self
|
|
43
54
|
end
|
|
44
55
|
def help
|
|
45
|
-
|
|
46
|
-
yield
|
|
56
|
+
b.append ' -help'
|
|
57
|
+
yield b if block_given?
|
|
47
58
|
self
|
|
48
59
|
end
|
|
49
60
|
def license
|
|
50
|
-
|
|
51
|
-
yield
|
|
61
|
+
b.append ' -license'
|
|
62
|
+
yield b if block_given?
|
|
52
63
|
self
|
|
53
64
|
end
|
|
54
65
|
def show_sdks
|
|
55
|
-
|
|
56
|
-
yield
|
|
66
|
+
b.append ' -showsdks'
|
|
67
|
+
yield b if block_given?
|
|
57
68
|
self
|
|
58
69
|
end
|
|
59
70
|
def usage
|
|
60
|
-
|
|
61
|
-
yield
|
|
71
|
+
b.append ' -usage'
|
|
72
|
+
yield b if block_given?
|
|
62
73
|
self
|
|
63
74
|
end
|
|
64
75
|
end
|
|
65
76
|
class BuildProject < CommandBase
|
|
66
|
-
def initialize(
|
|
67
|
-
super
|
|
68
|
-
|
|
69
|
-
|
|
77
|
+
def initialize(underlying_builder, build_action=nil)
|
|
78
|
+
super underlying_builder
|
|
79
|
+
b.append ' '
|
|
80
|
+
b.append "#{b.format build_action, ' '}" unless build_action.nil?
|
|
70
81
|
end
|
|
71
82
|
def all_targets
|
|
72
|
-
|
|
73
|
-
yield
|
|
83
|
+
b.append ' -alltargets'
|
|
84
|
+
yield b if block_given?
|
|
74
85
|
self
|
|
75
86
|
end
|
|
76
87
|
def architecture(architecture)
|
|
77
|
-
|
|
78
|
-
yield
|
|
88
|
+
b.append " -arch #{b.format architecture}"
|
|
89
|
+
yield b if block_given?
|
|
79
90
|
self
|
|
80
91
|
end
|
|
81
92
|
def configuration(configuration_name)
|
|
82
|
-
|
|
83
|
-
yield
|
|
93
|
+
b.append " -configuration #{b.format configuration_name}"
|
|
94
|
+
yield b if block_given?
|
|
84
95
|
self
|
|
85
96
|
end
|
|
86
97
|
def dry_run
|
|
87
|
-
|
|
88
|
-
yield
|
|
98
|
+
b.append ' -dry-run'
|
|
99
|
+
yield b if block_given?
|
|
89
100
|
self
|
|
90
101
|
end
|
|
91
102
|
def jobs(number)
|
|
92
|
-
|
|
93
|
-
yield
|
|
103
|
+
b.append " -jobs #{b.format number}"
|
|
104
|
+
yield b if block_given?
|
|
94
105
|
self
|
|
95
106
|
end
|
|
96
107
|
def parallelize_targets
|
|
97
|
-
|
|
98
|
-
yield
|
|
108
|
+
b.append ' -parallelizeTargets'
|
|
109
|
+
yield b if block_given?
|
|
99
110
|
self
|
|
100
111
|
end
|
|
101
112
|
def project(project_name)
|
|
102
|
-
|
|
103
|
-
yield
|
|
113
|
+
b.append " -project #{b.format project_name}"
|
|
114
|
+
yield b if block_given?
|
|
104
115
|
self
|
|
105
116
|
end
|
|
106
117
|
def target(target_name)
|
|
107
|
-
|
|
108
|
-
yield
|
|
118
|
+
b.append " -target #{b.format target_name}"
|
|
119
|
+
yield b if block_given?
|
|
109
120
|
self
|
|
110
121
|
end
|
|
111
122
|
def sdk(sdk_name)
|
|
112
|
-
|
|
113
|
-
yield
|
|
123
|
+
b.append " -sdk #{b.format sdk_name}"
|
|
124
|
+
yield b if block_given?
|
|
114
125
|
self
|
|
115
126
|
end
|
|
116
127
|
def show_build_settings
|
|
117
|
-
|
|
118
|
-
yield
|
|
128
|
+
b.append ' -showBuildSettings'
|
|
129
|
+
yield b if block_given?
|
|
119
130
|
self
|
|
120
131
|
end
|
|
121
132
|
def toolchain(name)
|
|
122
|
-
|
|
123
|
-
yield
|
|
133
|
+
b.append " -toolchain #{b.format name}"
|
|
134
|
+
yield b if block_given?
|
|
124
135
|
self
|
|
125
136
|
end
|
|
126
137
|
def verbose
|
|
127
|
-
|
|
128
|
-
yield
|
|
138
|
+
b.append ' -verbose'
|
|
139
|
+
yield b if block_given?
|
|
129
140
|
self
|
|
130
141
|
end
|
|
131
142
|
def xcconfig(path)
|
|
132
|
-
|
|
133
|
-
yield
|
|
143
|
+
b.append " -xcconfig #{b.format path}"
|
|
144
|
+
yield b if block_given?
|
|
134
145
|
self
|
|
135
146
|
end
|
|
136
147
|
def setting(setting, value)
|
|
137
|
-
|
|
138
|
-
yield
|
|
148
|
+
b.append " #{b.format setting}=#{b.format value}"
|
|
149
|
+
yield b if block_given?
|
|
139
150
|
self
|
|
140
151
|
end
|
|
141
152
|
end
|
|
142
153
|
class BuildProjectScheme < CommandBase
|
|
143
|
-
def initialize(
|
|
144
|
-
super
|
|
145
|
-
|
|
146
|
-
|
|
154
|
+
def initialize(underlying_builder, build_action=nil)
|
|
155
|
+
super underlying_builder
|
|
156
|
+
b.append ' '
|
|
157
|
+
b.append "#{b.format build_action, ' '}" unless build_action.nil?
|
|
147
158
|
end
|
|
148
159
|
def architecture(architecture)
|
|
149
|
-
|
|
150
|
-
yield
|
|
160
|
+
b.append " -arch #{b.format architecture}"
|
|
161
|
+
yield b if block_given?
|
|
151
162
|
self
|
|
152
163
|
end
|
|
153
164
|
def configuration(configuration_name)
|
|
154
|
-
|
|
155
|
-
yield
|
|
165
|
+
b.append " -configuration #{b.format configuration_name}"
|
|
166
|
+
yield b if block_given?
|
|
156
167
|
self
|
|
157
168
|
end
|
|
158
169
|
def dry_run
|
|
159
|
-
|
|
160
|
-
yield
|
|
170
|
+
b.append ' -dry-run'
|
|
171
|
+
yield b if block_given?
|
|
161
172
|
self
|
|
162
173
|
end
|
|
163
174
|
def jobs(number)
|
|
164
|
-
|
|
165
|
-
yield
|
|
175
|
+
b.append " -jobs #{b.format number}"
|
|
176
|
+
yield b if block_given?
|
|
166
177
|
self
|
|
167
178
|
end
|
|
168
179
|
def parallelize_targets
|
|
169
|
-
|
|
170
|
-
yield
|
|
180
|
+
b.append ' -parallelizeTargets'
|
|
181
|
+
yield b if block_given?
|
|
171
182
|
self
|
|
172
183
|
end
|
|
173
184
|
def scheme(scheme_name)
|
|
174
|
-
|
|
175
|
-
yield
|
|
185
|
+
b.append " -scheme #{b.format scheme_name}"
|
|
186
|
+
yield b if block_given?
|
|
176
187
|
self
|
|
177
188
|
end
|
|
178
189
|
def sdk(sdk_name)
|
|
179
|
-
|
|
180
|
-
yield
|
|
190
|
+
b.append " -sdk #{b.format sdk_name}"
|
|
191
|
+
yield b if block_given?
|
|
181
192
|
self
|
|
182
193
|
end
|
|
183
194
|
def show_build_settings
|
|
184
|
-
|
|
185
|
-
yield
|
|
195
|
+
b.append ' -showBuildSettings'
|
|
196
|
+
yield b if block_given?
|
|
186
197
|
self
|
|
187
198
|
end
|
|
188
199
|
def toolchain(name)
|
|
189
|
-
|
|
190
|
-
yield
|
|
200
|
+
b.append " -toolchain #{b.format name}"
|
|
201
|
+
yield b if block_given?
|
|
191
202
|
self
|
|
192
203
|
end
|
|
193
204
|
def verbose
|
|
194
|
-
|
|
195
|
-
yield
|
|
205
|
+
b.append ' -verbose'
|
|
206
|
+
yield b if block_given?
|
|
196
207
|
self
|
|
197
208
|
end
|
|
198
209
|
def xcconfig(path)
|
|
199
|
-
|
|
200
|
-
yield
|
|
210
|
+
b.append " -xcconfig #{b.format path}"
|
|
211
|
+
yield b if block_given?
|
|
201
212
|
self
|
|
202
213
|
end
|
|
203
214
|
def setting(setting, value)
|
|
204
|
-
|
|
205
|
-
yield
|
|
215
|
+
b.append " #{b.format setting}=#{b.format value}"
|
|
216
|
+
yield b if block_given?
|
|
206
217
|
self
|
|
207
218
|
end
|
|
208
219
|
end
|
|
209
220
|
class BuildWorkspace < CommandBase
|
|
210
|
-
def initialize(
|
|
211
|
-
super
|
|
212
|
-
|
|
213
|
-
|
|
221
|
+
def initialize(underlying_builder, workspace_name, build_action=nil)
|
|
222
|
+
super underlying_builder
|
|
223
|
+
b.append " -workspace #{b.format workspace_name}"
|
|
224
|
+
b.append " #{b.format build_action, ' '}" unless build_action.nil?
|
|
214
225
|
end
|
|
215
226
|
def architecture(architecture)
|
|
216
|
-
|
|
217
|
-
yield
|
|
227
|
+
b.append " -arch #{b.format architecture}"
|
|
228
|
+
yield b if block_given?
|
|
218
229
|
self
|
|
219
230
|
end
|
|
220
231
|
def configuration(configuration_name)
|
|
221
|
-
|
|
222
|
-
yield
|
|
232
|
+
b.append " -configuration #{b.format configuration_name}"
|
|
233
|
+
yield b if block_given?
|
|
223
234
|
self
|
|
224
235
|
end
|
|
225
236
|
def dry_run
|
|
226
|
-
|
|
227
|
-
yield
|
|
237
|
+
b.append ' -dry-run'
|
|
238
|
+
yield b if block_given?
|
|
228
239
|
self
|
|
229
240
|
end
|
|
230
241
|
def jobs(number)
|
|
231
|
-
|
|
232
|
-
yield
|
|
242
|
+
b.append " -jobs #{b.format number}"
|
|
243
|
+
yield b if block_given?
|
|
233
244
|
self
|
|
234
245
|
end
|
|
235
246
|
def parallelize_targets
|
|
236
|
-
|
|
237
|
-
yield
|
|
247
|
+
b.append ' -parallelizeTargets'
|
|
248
|
+
yield b if block_given?
|
|
238
249
|
self
|
|
239
250
|
end
|
|
240
251
|
def scheme(scheme_name)
|
|
241
|
-
|
|
242
|
-
yield
|
|
252
|
+
b.append " -scheme #{b.format scheme_name}"
|
|
253
|
+
yield b if block_given?
|
|
243
254
|
self
|
|
244
255
|
end
|
|
245
256
|
def sdk(sdk_name)
|
|
246
|
-
|
|
247
|
-
yield
|
|
257
|
+
b.append " -sdk #{b.format sdk_name}"
|
|
258
|
+
yield b if block_given?
|
|
248
259
|
self
|
|
249
260
|
end
|
|
250
261
|
def show_build_settings
|
|
251
|
-
|
|
252
|
-
yield
|
|
262
|
+
b.append ' -showBuildSettings'
|
|
263
|
+
yield b if block_given?
|
|
253
264
|
self
|
|
254
265
|
end
|
|
255
266
|
def toolchain(name)
|
|
256
|
-
|
|
257
|
-
yield
|
|
267
|
+
b.append " -toolchain #{b.format name}"
|
|
268
|
+
yield b if block_given?
|
|
258
269
|
self
|
|
259
270
|
end
|
|
260
271
|
def verbose
|
|
261
|
-
|
|
262
|
-
yield
|
|
272
|
+
b.append ' -verbose'
|
|
273
|
+
yield b if block_given?
|
|
263
274
|
self
|
|
264
275
|
end
|
|
265
276
|
def xcconfig(path)
|
|
266
|
-
|
|
267
|
-
yield
|
|
277
|
+
b.append " -xcconfig #{b.format path}"
|
|
278
|
+
yield b if block_given?
|
|
268
279
|
self
|
|
269
280
|
end
|
|
270
281
|
def setting(setting, value)
|
|
271
|
-
|
|
272
|
-
yield
|
|
282
|
+
b.append " #{b.format setting}=#{b.format value}"
|
|
283
|
+
yield b if block_given?
|
|
273
284
|
self
|
|
274
285
|
end
|
|
275
286
|
end
|
|
276
287
|
class Version < CommandBase
|
|
277
|
-
def initialize(
|
|
278
|
-
super
|
|
279
|
-
|
|
288
|
+
def initialize(underlying_builder)
|
|
289
|
+
super underlying_builder
|
|
290
|
+
b.append ' -version'
|
|
280
291
|
end
|
|
281
292
|
def sdk(sdk_name)
|
|
282
|
-
|
|
283
|
-
yield
|
|
293
|
+
b.append " -sdk #{b.format sdk_name}"
|
|
294
|
+
yield b if block_given?
|
|
284
295
|
self
|
|
285
296
|
end
|
|
286
297
|
def info_item(info_item)
|
|
287
|
-
|
|
288
|
-
yield
|
|
298
|
+
b.append " #{b.format info_item}"
|
|
299
|
+
yield b if block_given?
|
|
289
300
|
self
|
|
290
301
|
end
|
|
291
302
|
end
|
|
292
|
-
|
|
293
|
-
builder = CommandBuilder.new COMMAND_NAME
|
|
294
|
-
command = XCodeBuild.new builder
|
|
295
|
-
yield builder if block_given?
|
|
296
|
-
command
|
|
297
|
-
end
|
|
303
|
+
|
|
298
304
|
end
|
|
299
305
|
end
|
|
300
|
-
|
|
301
|
-
builder = CommandBuilder.new XCodeBuild::V44::COMMAND_NAME
|
|
302
|
-
command = XCodeBuild::V44::XCodeBuild.new builder
|
|
303
|
-
yield builder if block_given?
|
|
304
|
-
command
|
|
305
|
-
end
|
|
306
|
-
end
|
|
306
|
+
end
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
require File.expand_path(File.dirname(__FILE__) + '/command_base')
|
|
2
2
|
|
|
3
3
|
module FluentCommandBuilder
|
|
4
|
-
class
|
|
4
|
+
class UnderlyingBuilder
|
|
5
5
|
|
|
6
6
|
attr_accessor :command_name, :path
|
|
7
7
|
|
|
8
|
-
def initialize(command_name)
|
|
8
|
+
def initialize(command_name=nil)
|
|
9
9
|
@command_name = command_name
|
|
10
10
|
@path = nil
|
|
11
11
|
@args = ''
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module FluentCommandBuilder
|
|
2
|
+
|
|
3
|
+
def version_module(command_module)
|
|
4
|
+
version = command_module.respond_to?(:version) ? command_module.version : nil
|
|
5
|
+
raise "Unable to determine version for #{command_module::COMMAND_NAME}." unless version
|
|
6
|
+
module_name = "#{command_module.name}::V#{compact_version version}"
|
|
7
|
+
begin
|
|
8
|
+
eval module_name
|
|
9
|
+
rescue
|
|
10
|
+
raise "Unable to load #{module_name}. Please consider contributing."
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def compact_version(version)
|
|
15
|
+
version.match(/^\d+\.\d+/)[0].sub('.', '')
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/lib/appengine_python_version_detector')
|
|
2
|
+
|
|
3
|
+
module FluentCommandBuilder
|
|
4
|
+
module DevAppserverPython
|
|
5
|
+
def self.version(path=nil)
|
|
6
|
+
AppEnginePythonVersionDetector.version 'dev_appserver.py', path
|
|
7
|
+
end
|
|
8
|
+
end
|
|
9
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
require 'yaml'
|
|
2
|
+
require File.expand_path(File.dirname(__FILE__) + '/path_finder')
|
|
3
|
+
|
|
4
|
+
module FluentCommandBuilder
|
|
5
|
+
class AppEnginePythonVersionDetector
|
|
6
|
+
|
|
7
|
+
def self.version(executable_name, path=nil)
|
|
8
|
+
path ||= PathFinder.find_path executable_name
|
|
9
|
+
return unless path
|
|
10
|
+
version_file = File.join path, 'VERSION'
|
|
11
|
+
version_hash = YAML::load_file version_file
|
|
12
|
+
version_hash['release']
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module FluentCommandBuilder
|
|
2
|
+
class PathFinder
|
|
3
|
+
|
|
4
|
+
def initialize(executable_name)
|
|
5
|
+
@executable_name = executable_name
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def find_path
|
|
9
|
+
executable = find_executable
|
|
10
|
+
return unless executable
|
|
11
|
+
File.dirname executable
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def self.find_path(executable_name)
|
|
15
|
+
path_finder = PathFinder.new executable_name
|
|
16
|
+
path_finder.find_path
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
private
|
|
20
|
+
|
|
21
|
+
def find_executable
|
|
22
|
+
is_windows? ? find_executable_on_windows : find_executable_on_unix
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def find_executable_on_unix
|
|
26
|
+
executable = `which #{@executable_name}`
|
|
27
|
+
real_executable = `readlink #{executable}`.strip
|
|
28
|
+
real_executable == '' ? executable : real_executable
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def find_executable_on_windows
|
|
32
|
+
paths = ENV['PATH'].split ';'
|
|
33
|
+
extensions = ENV['PATHEXT'].split ';'
|
|
34
|
+
possibilities = paths.map { |path| extensions.map { |ext| File.join(path, @executable_name + ext.downcase).gsub('/', '\\') } }.flatten
|
|
35
|
+
possibilities.select { |exe| File.exist? exe }.first
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def is_windows?
|
|
39
|
+
!ENV['WINDIR'].nil?
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/path_finder')
|
|
2
|
+
|
|
3
|
+
module FluentCommandBuilder
|
|
4
|
+
class StandardVersionDetector
|
|
5
|
+
def self.version(executable_name, executable_args, path=nil)
|
|
6
|
+
path ||= PathFinder.find_path executable_name
|
|
7
|
+
return unless path
|
|
8
|
+
executable = File.join path, executable_name
|
|
9
|
+
command = %Q["#{executable}" #{executable_args} 2>&1]
|
|
10
|
+
output = `#{command}`
|
|
11
|
+
output.match(/(?:\d+\.)(?:\d+\.?)+/) { |m| m[0] }
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|