earlgrey 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/earlgrey +15 -0
- data/lib/earlgrey/cli.rb +27 -20
- data/lib/earlgrey/configure_earlgrey_pods.rb +114 -58
- data/lib/earlgrey/earlgrey.rb +15 -0
- data/lib/earlgrey/version.rb +16 -2
- metadata +21 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e51eb3f71a30c2d85f4b79c40e2c65ed546898b
|
4
|
+
data.tar.gz: f30f0157ab4a3c72cc97a27c0b076a8a98fe1bdd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89fb3a79dee14fb89308c6aca21d4113a2e4ba96c11ba06847a57011bd9297b4d93edb26b03ec0ee71f8b7187603723235844292254947984236ae1dc5b07f03
|
7
|
+
data.tar.gz: c1d63ca917fe693edf2868ba1965e622b82da2f0d953554d9fccd4538bca9848309c0201f66845045126641a84c4ca2e4d3a7f323f7d58f957b8d6bda156fb03
|
data/bin/earlgrey
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
+
#
|
4
|
+
# Copyright 2016 Google Inc.
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
|
3
18
|
require_relative '../lib/earlgrey'
|
4
19
|
|
5
20
|
EarlGrey::CLI.start
|
data/lib/earlgrey/cli.rb
CHANGED
@@ -1,3 +1,18 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2016 Google Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
|
1
16
|
module EarlGrey
|
2
17
|
class CLI < Thor
|
3
18
|
package_name 'EarlGrey'
|
@@ -9,35 +24,27 @@ module EarlGrey
|
|
9
24
|
method_option :swift, type: :boolean, default: true
|
10
25
|
method_option :carthage, type: :boolean, default: true
|
11
26
|
|
27
|
+
PROJECT = 'project'.freeze
|
28
|
+
TARGET = 'target'.freeze
|
29
|
+
SCHEME = 'scheme'.freeze
|
30
|
+
SWIFT = 'swift'.freeze
|
31
|
+
CARTHAGE = 'carthage'.freeze
|
32
|
+
|
12
33
|
def install
|
13
34
|
o = options.dup
|
14
35
|
|
15
|
-
project, target, scheme, swift, carthage = 'project', 'target', 'scheme', 'swift', 'carthage'
|
16
|
-
|
17
36
|
# CLI will never use Cocoapod's `post_install do |installer|`
|
18
37
|
podfile_installer = nil
|
19
|
-
EarlGrey.swift = o[
|
20
|
-
EarlGrey.carthage = o[
|
38
|
+
EarlGrey.swift = o[SWIFT]
|
39
|
+
EarlGrey.carthage = o[CARTHAGE]
|
21
40
|
|
22
41
|
# Use target as the default Scheme name.
|
23
|
-
o[
|
42
|
+
o[SCHEME] ||= o[TARGET]
|
24
43
|
|
25
|
-
o[
|
26
|
-
|
44
|
+
o[PROJECT] ||= Dir.glob(File.join(Dir.pwd, '*.xcodeproj')).first
|
45
|
+
raise 'No project found' unless o[PROJECT]
|
27
46
|
|
28
|
-
EarlGrey.configure_for_earlgrey podfile_installer, o[
|
47
|
+
EarlGrey.configure_for_earlgrey podfile_installer, o[PROJECT], o[TARGET], o[SCHEME]
|
29
48
|
end
|
30
49
|
end
|
31
50
|
end
|
32
|
-
|
33
|
-
# earlgrey install -t Grey3
|
34
|
-
=begin
|
35
|
-
require 'xcodeproj'
|
36
|
-
project_file = '/Users/bootstraponline/Desktop/code/swift_xcuitest_example/Example/Example.xcodeproj'
|
37
|
-
user_project = Xcodeproj::Project.open(project_file)
|
38
|
-
|
39
|
-
test_target_name = 'Grey3'
|
40
|
-
all_targets = user_project.targets
|
41
|
-
test_target = all_targets.find { |target| target.name == test_target_name }
|
42
|
-
|
43
|
-
=end
|
@@ -14,8 +14,8 @@
|
|
14
14
|
# limitations under the License.
|
15
15
|
|
16
16
|
# global export for unqualified use in Pods file
|
17
|
-
def configure_for_earlgrey
|
18
|
-
EarlGrey.configure_for_earlgrey
|
17
|
+
def configure_for_earlgrey(*args)
|
18
|
+
EarlGrey.configure_for_earlgrey(*args)
|
19
19
|
end
|
20
20
|
|
21
21
|
module EarlGrey
|
@@ -23,24 +23,65 @@ module EarlGrey
|
|
23
23
|
attr_accessor :swift, :carthage
|
24
24
|
attr_reader :project_name, :test_target, :test_target_name, :scheme_file, :user_project
|
25
25
|
|
26
|
-
|
26
|
+
# Returns path to Xcode file, prepending current working dir if necessary.
|
27
|
+
# @param xcode_file [String] xcode file path
|
28
|
+
# @param ext [String] xcode file extension
|
29
|
+
# @return [String] path to Xcode file
|
30
|
+
def path_for(xcode_file, ext)
|
27
31
|
return xcode_file if File.exist? xcode_file
|
28
32
|
|
29
33
|
path = File.join(Dir.pwd, File.basename(xcode_file, '.*') + ext)
|
30
34
|
path ? path : nil
|
31
35
|
end
|
32
36
|
|
37
|
+
# Strips excessive spaces from a string
|
38
|
+
# @param string [String] the string to process
|
39
|
+
# @return [String] the modified string
|
40
|
+
def strip(string)
|
41
|
+
string.split("\n").map(&:strip).join("\n")
|
42
|
+
end
|
43
|
+
|
44
|
+
# Raise error message after removing excessive spaces.
|
45
|
+
# @param message [String] the message to raise
|
46
|
+
# @return [nil]
|
47
|
+
def error(message)
|
48
|
+
raise strip(message)
|
49
|
+
end
|
50
|
+
|
51
|
+
# Prints string as blue after stripping excess spacing
|
52
|
+
# @param string [String] the string to print
|
53
|
+
# @return [nil]
|
54
|
+
def puts_blue(string)
|
55
|
+
puts strip(string).blue
|
56
|
+
end
|
57
|
+
|
58
|
+
# Prints string as yellow after stripping excess spacing
|
59
|
+
# @param string [String] the string to print
|
60
|
+
# @return [nil]
|
61
|
+
def puts_yellow(string)
|
62
|
+
puts strip(string).yellow
|
63
|
+
end
|
64
|
+
|
65
|
+
# Main entry point. Configures An Xcode project for use with EarlGrey.
|
66
|
+
#
|
67
|
+
# @param installer [Installer] Cococapods installer object or nil.
|
68
|
+
# @param project_name [String] the xcodeproj file name
|
69
|
+
# @param test_target_name [String] the test target name contained in xcodeproj
|
70
|
+
# @param scheme_file [String] the scheme file name. defaults to project name when nil.
|
71
|
+
# @return [nil]
|
33
72
|
def configure_for_earlgrey(installer, project_name, test_target_name, scheme_file)
|
34
|
-
|
73
|
+
puts_blue "Checking and Updating #{project_name} for EarlGrey."
|
35
74
|
pods_project = installer ? installer.pods_project : true
|
36
75
|
project_file = path_for project_name, '.xcodeproj'
|
37
76
|
|
38
|
-
|
77
|
+
raise 'No test target provided' unless test_target_name
|
39
78
|
|
40
79
|
if pods_project.nil? || project_file.nil?
|
41
|
-
|
42
|
-
|
43
|
-
|
80
|
+
error <<-E
|
81
|
+
The target's xcodeproj file could not be found.
|
82
|
+
Please check if the correct PROJECT_NAME is being passed in the Podfile.
|
83
|
+
Current PROJECT_NAME is: #{project_name}
|
84
|
+
E
|
44
85
|
end
|
45
86
|
|
46
87
|
@project_name = project_name
|
@@ -49,8 +90,7 @@ module EarlGrey
|
|
49
90
|
@user_project = Xcodeproj::Project.open(project_file)
|
50
91
|
all_targets = user_project.targets
|
51
92
|
@test_target = all_targets.find { |target| target.name == test_target_name }
|
52
|
-
|
53
|
-
|
93
|
+
raise "Unable to find target: #{test_target_name}. Targets are: #{all_targets.map(&:name)}" unless test_target
|
54
94
|
|
55
95
|
# Add a Test Action to the User Project Scheme.
|
56
96
|
scheme = modify_scheme_for_actions
|
@@ -67,17 +107,14 @@ module EarlGrey
|
|
67
107
|
|
68
108
|
save_earlgrey_scheme_changes(scheme) unless scheme.nil?
|
69
109
|
|
70
|
-
|
71
|
-
"for EarlGrey testing.").blue
|
110
|
+
puts_blue "EarlGrey setup complete. You can use the Test Target: #{test_target_name} for EarlGrey testing."
|
72
111
|
end
|
73
112
|
|
74
113
|
# Scheme changes to ensure that EarlGrey is correctly loaded before main() is called.
|
75
114
|
def modify_scheme_for_actions
|
76
115
|
scheme_filename = scheme_file
|
77
116
|
# If you do not pass on a scheme name, we set it to the project name itself.
|
78
|
-
if scheme_filename.to_s == ''
|
79
|
-
scheme_filename = project_name
|
80
|
-
end
|
117
|
+
scheme_filename = project_name if scheme_filename.to_s == ''
|
81
118
|
|
82
119
|
xcdata_dir = Xcodeproj::XCScheme.user_data_dir(user_project.path)
|
83
120
|
unless File.exist?(File.join(xcdata_dir, scheme_filename).to_s)
|
@@ -85,22 +122,22 @@ module EarlGrey
|
|
85
122
|
end
|
86
123
|
|
87
124
|
unless File.exist?(File.join(xcdata_dir, scheme_filename).to_s)
|
88
|
-
|
89
|
-
|
90
|
-
|
125
|
+
error <<-E
|
126
|
+
The required scheme "#{scheme_filename}" could not be found.
|
127
|
+
Please ensure that the required scheme file exists within your project directory.
|
128
|
+
E
|
91
129
|
end
|
92
130
|
scheme = Xcodeproj::XCScheme.new File.join(xcdata_dir, scheme_filename)
|
93
131
|
test_action_key = 'DYLD_INSERT_LIBRARIES'
|
94
132
|
test_action_value = '@executable_path/EarlGrey.framework/EarlGrey'
|
95
|
-
|
96
|
-
scheme =
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
test_action_value)
|
133
|
+
unless scheme.test_action.xml_element.to_s.include? test_action_value
|
134
|
+
scheme = add_environment_variables_to_test_action_scheme(scheme_filename,
|
135
|
+
scheme,
|
136
|
+
test_action_key,
|
137
|
+
test_action_value)
|
101
138
|
end
|
102
139
|
|
103
|
-
|
140
|
+
scheme
|
104
141
|
end
|
105
142
|
|
106
143
|
# Load the EarlGrey framework when the app binary is loaded by
|
@@ -111,33 +148,39 @@ module EarlGrey
|
|
111
148
|
test_action_value)
|
112
149
|
test_action = scheme.test_action
|
113
150
|
if (scheme.test_action.xml_element.to_s.include? test_action_key) ||
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
151
|
+
(scheme.launch_action.xml_element.to_s.include? test_action_key)
|
152
|
+
puts_yellow <<-S
|
153
|
+
//////////////////// EARLGREY SCHEME ISSUE ////////////////////
|
154
|
+
EarlGrey failed to modify the Test Action part of the scheme: #{scheme_filename}
|
155
|
+
for one of following reasons:
|
156
|
+
|
157
|
+
1) DYLD_INSERT_LIBRARIES is already defined under Environment Variables of
|
158
|
+
the Test Action.
|
159
|
+
2) Run Action's environment variables are used for Test Action.
|
160
|
+
|
161
|
+
To ensure correct functioning of EarlGrey, please manually add the
|
162
|
+
following under Test Action's Environment Variables of the scheme: #{scheme_filename}
|
163
|
+
Environment Variables or EarlGrey's location will not be found.
|
164
|
+
Name: DYLD_INSERT_LIBRARIES
|
165
|
+
Value: @executable_path/EarlGrey.framework/EarlGrey
|
166
|
+
///////////////////////////////////////////////////////////////
|
167
|
+
S
|
127
168
|
return
|
128
169
|
end
|
129
|
-
puts
|
130
|
-
|
170
|
+
puts strip(<<-S)
|
171
|
+
Adding EarlGrey Framework Location as an Environment Variable
|
172
|
+
in the App Project's Test Target's Scheme Test Action.
|
173
|
+
S
|
131
174
|
|
132
175
|
# Check if the test action uses the run action's environment variables and arguments.
|
133
176
|
launch_action_env_args_present = false
|
134
177
|
if (scheme.test_action.xml_element.to_s.include? 'shouldUseLaunchSchemeArgsEnv') &&
|
135
|
-
|
136
|
-
|
178
|
+
((scheme.launch_action.xml_element.to_s.include? '<EnvironmentVariables>') ||
|
179
|
+
(scheme.launch_action.xml_element.to_s.include? '<CommandLineArguments>'))
|
137
180
|
launch_action_env_args_present = true
|
138
181
|
end
|
139
182
|
|
140
|
-
|
183
|
+
test_action_is_enabled = 'YES'
|
141
184
|
test_action.should_use_launch_scheme_args_env = false
|
142
185
|
|
143
186
|
# If no environment variables are set, then create the element itself.
|
@@ -148,7 +191,7 @@ module EarlGrey
|
|
148
191
|
# If Launch Action Arguments are present and none are present in the test
|
149
192
|
# action, then please add them in.
|
150
193
|
if (scheme.launch_action.xml_element.to_s.include? '<CommandLineArguments>') &&
|
151
|
-
|
194
|
+
!(scheme.test_action.xml_element.to_s.include? '<CommandLineArguments>')
|
152
195
|
scheme.test_action.xml_element.add_element('CommandLineArguments')
|
153
196
|
end
|
154
197
|
|
@@ -159,13 +202,13 @@ module EarlGrey
|
|
159
202
|
earl_grey_environment_variable = REXML::Element.new 'EnvironmentVariable'
|
160
203
|
earl_grey_environment_variable.attributes['key'] = test_action_key
|
161
204
|
earl_grey_environment_variable.attributes['value'] = test_action_value
|
162
|
-
earl_grey_environment_variable.attributes['isEnabled'] =
|
205
|
+
earl_grey_environment_variable.attributes['isEnabled'] = test_action_is_enabled
|
163
206
|
test_action_env_vars.add_element(earl_grey_environment_variable)
|
164
207
|
|
165
208
|
# If any environment variables or arguments were being used in the test action by
|
166
209
|
# being copied from the launch (run) action then copy them over to the test action
|
167
210
|
# along with the EarlGrey environment variable.
|
168
|
-
if
|
211
|
+
if launch_action_env_args_present
|
169
212
|
launch_action_env_vars = scheme.launch_action.xml_element.elements['EnvironmentVariables']
|
170
213
|
launch_action_args = scheme.launch_action.xml_element.elements['CommandLineArguments']
|
171
214
|
|
@@ -178,7 +221,7 @@ module EarlGrey
|
|
178
221
|
test_action_env_vars.add_element(environment_variable)
|
179
222
|
end
|
180
223
|
|
181
|
-
#Add in the Arguments
|
224
|
+
# Add in the Arguments
|
182
225
|
launch_action_args.elements.each('CommandLineArgument') do |launch_action_arg|
|
183
226
|
argument = REXML::Element.new 'CommandLineArgument'
|
184
227
|
argument.attributes['argument'] = launch_action_arg.attributes['argument']
|
@@ -194,8 +237,11 @@ module EarlGrey
|
|
194
237
|
# Adds EarlGrey.framework to products group. Returns file ref.
|
195
238
|
def add_earlgrey_product
|
196
239
|
return @add_earlgrey_product if @add_earlgrey_product
|
197
|
-
framework_path = carthage
|
198
|
-
|
240
|
+
framework_path = if carthage
|
241
|
+
'${SRCROOT}/Carthage/Build/iOS/EarlGrey.framework'
|
242
|
+
else
|
243
|
+
'${SRCROOT}/Pods/EarlGrey/EarlGrey-1.0.0/EarlGrey.framework'
|
244
|
+
end
|
199
245
|
|
200
246
|
framework_ref = user_project.products_group.files.find { |f| f.path == framework_path }
|
201
247
|
return @add_earlgrey_product = framework_ref if framework_ref
|
@@ -224,14 +270,16 @@ module EarlGrey
|
|
224
270
|
|
225
271
|
file_ref = add_earlgrey_product
|
226
272
|
build_file = new_copy_files_phase.add_file_reference(file_ref, true)
|
227
|
-
build_file.settings = {'ATTRIBUTES' => ['CodeSignOnCopy']}
|
273
|
+
build_file.settings = { 'ATTRIBUTES' => ['CodeSignOnCopy'] }
|
228
274
|
user_project.save
|
229
275
|
end
|
230
276
|
end
|
231
277
|
|
232
|
-
FRAMEWORK_SEARCH_PATHS = 'FRAMEWORK_SEARCH_PATHS'
|
233
|
-
HEADER_SEARCH_PATHS = 'HEADER_SEARCH_PATHS'
|
278
|
+
FRAMEWORK_SEARCH_PATHS = 'FRAMEWORK_SEARCH_PATHS'.freeze
|
279
|
+
HEADER_SEARCH_PATHS = 'HEADER_SEARCH_PATHS'.freeze
|
234
280
|
|
281
|
+
# Updates test target's build configuration framework and header search paths for carthage.
|
282
|
+
# No-op if carthage isn't true.
|
235
283
|
def add_carthage_search_paths
|
236
284
|
return unless carthage
|
237
285
|
carthage_build_ios = '$(SRCROOT)/Carthage/Build/iOS'
|
@@ -253,8 +301,16 @@ module EarlGrey
|
|
253
301
|
user_project.save
|
254
302
|
end
|
255
303
|
|
256
|
-
SWIFT_OBJC_BRIDGING_HEADER = 'SWIFT_OBJC_BRIDGING_HEADER'
|
304
|
+
SWIFT_OBJC_BRIDGING_HEADER = 'SWIFT_OBJC_BRIDGING_HEADER'.freeze
|
257
305
|
|
306
|
+
# Copies Swift bridging header and configures the test target's build configuration to use it.
|
307
|
+
# Copies EarlGrey.swift and adds it to the project.
|
308
|
+
# Adds EarlGrey.swift and BridgingHeader.h to project's test target group.
|
309
|
+
# Adds EarlGrey.swift to testing target's source build phase
|
310
|
+
# Adds Link Binary With Libraries phase to test target for EarlGrey.framework
|
311
|
+
# Adds shell script phase that runs Carthage copy-frameworks
|
312
|
+
#
|
313
|
+
# No op if swift isn't true
|
258
314
|
def copy_swift_files
|
259
315
|
return unless swift
|
260
316
|
bridge_path = '$(TARGET_NAME)/BridgingHeader.h'
|
@@ -268,23 +324,23 @@ module EarlGrey
|
|
268
324
|
|
269
325
|
src_root = File.join(__dir__, 'files')
|
270
326
|
dst_root = File.join(Dir.pwd, test_target_name)
|
271
|
-
|
327
|
+
raise "Missing target folder #{dst_root}" unless File.exist? dst_root
|
272
328
|
|
273
329
|
src_header_name = 'BridgingHeader.h'
|
274
330
|
src_header = File.join(src_root, src_header_name)
|
275
|
-
|
331
|
+
raise 'Bundled header missing' unless File.exist? src_header
|
276
332
|
dst_header = File.join(dst_root, src_header_name)
|
277
333
|
|
278
334
|
src_swift_name = 'EarlGrey.swift'
|
279
335
|
src_swift = File.join(src_root, src_swift_name)
|
280
|
-
|
336
|
+
raise 'Bundled swift missing' unless File.exist? src_swift
|
281
337
|
dst_swift = File.join(dst_root, src_swift_name)
|
282
338
|
|
283
339
|
FileUtils.copy src_header, dst_header
|
284
340
|
FileUtils.copy src_swift, dst_swift
|
285
341
|
|
286
342
|
test_target_group = user_project.main_group.children.find { |g| g.display_name == test_target_name }
|
287
|
-
|
343
|
+
raise "Test target group not found! #{test_target_group}" unless test_target_group
|
288
344
|
|
289
345
|
# Add files to testing target group otherwise Xcode can't read them.
|
290
346
|
new_files = [src_header_name, src_swift_name]
|
@@ -299,7 +355,7 @@ module EarlGrey
|
|
299
355
|
existing_sources = test_target.source_build_phase.files.map(&:display_name)
|
300
356
|
unless existing_sources.include? src_swift_name
|
301
357
|
earlgrey_swift_file_ref = test_target_group.files.find { |f| f.display_name == src_swift_name }
|
302
|
-
|
358
|
+
raise 'EarlGrey.swift not found in testing target' unless earlgrey_swift_file_ref
|
303
359
|
test_target.source_build_phase.add_file_reference earlgrey_swift_file_ref
|
304
360
|
end
|
305
361
|
|
data/lib/earlgrey/earlgrey.rb
CHANGED
@@ -1,3 +1,18 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2016 Google Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
|
1
16
|
require 'rubygems'
|
2
17
|
require 'xcodeproj'
|
3
18
|
require 'colored'
|
data/lib/earlgrey/version.rb
CHANGED
@@ -1,4 +1,18 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2016 Google Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
|
1
16
|
module EarlGrey
|
2
|
-
VERSION = '0.0.
|
3
|
-
DATE = '2016-04-18' unless defined? ::EarlGrey::DATE
|
17
|
+
VERSION = '0.0.3'.freeze unless defined? ::EarlGrey::VERSION
|
4
18
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: earlgrey
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- code@bootstraponline.com
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 3.4.0
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: appium_thor
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ">="
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 1.0.1
|
76
|
-
type: :development
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - ">="
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 1.0.1
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: rubocop
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,7 +108,21 @@ dependencies:
|
|
122
108
|
- - "~>"
|
123
109
|
- !ruby/object:Gem::Version
|
124
110
|
version: 0.10.3
|
125
|
-
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rake
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '11.1'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '11.1'
|
125
|
+
description: Command line tool for installing EarlGrey into an iOS Unit Testing target
|
126
126
|
email:
|
127
127
|
- code@bootstraponline.com
|
128
128
|
executables:
|
@@ -138,7 +138,7 @@ files:
|
|
138
138
|
- lib/earlgrey/files/BridgingHeader.h
|
139
139
|
- lib/earlgrey/files/EarlGrey.swift
|
140
140
|
- lib/earlgrey/version.rb
|
141
|
-
homepage: https://github.com/
|
141
|
+
homepage: https://github.com/google/EarlGrey
|
142
142
|
licenses:
|
143
143
|
- Apache-2.0
|
144
144
|
metadata: {}
|
@@ -150,7 +150,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
150
150
|
requirements:
|
151
151
|
- - ">="
|
152
152
|
- !ruby/object:Gem::Version
|
153
|
-
version: 2
|
153
|
+
version: '2'
|
154
154
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
156
|
- - ">="
|
@@ -158,9 +158,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
158
158
|
version: '0'
|
159
159
|
requirements: []
|
160
160
|
rubyforge_project:
|
161
|
-
rubygems_version: 2.6.
|
161
|
+
rubygems_version: 2.6.4
|
162
162
|
signing_key:
|
163
163
|
specification_version: 4
|
164
|
-
summary: EarlGrey
|
164
|
+
summary: EarlGrey installer gem
|
165
165
|
test_files: []
|
166
|
-
has_rdoc:
|