sim_launcher 0.3.3 → 0.3.5
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/bin/sim_launcher +4 -0
- data/lib/sim_launcher/client.rb +7 -5
- data/lib/sim_launcher/direct_client.rb +3 -1
- data/lib/sim_launcher/sdk_detector.rb +11 -8
- data/lib/sim_launcher/simulator.rb +5 -1
- data/lib/sim_launcher/version.rb +1 -1
- metadata +33 -49
data/bin/sim_launcher
CHANGED
@@ -33,7 +33,9 @@ get '/launch_ipad_app' do
|
|
33
33
|
raise 'no app_path provided' if app_path.nil?
|
34
34
|
|
35
35
|
sdk = params[:sdk]
|
36
|
+
restart_requested = ("true" == params[:restart])
|
36
37
|
|
38
|
+
shared_simulator.quit_simulator if restart_requested
|
37
39
|
shared_simulator.launch_ipad_app( app_path, sdk )
|
38
40
|
end
|
39
41
|
|
@@ -42,6 +44,8 @@ get '/launch_iphone_app' do
|
|
42
44
|
raise 'no app_path provided' if app_path.nil?
|
43
45
|
|
44
46
|
sdk = params[:sdk]
|
47
|
+
restart_requested = ("true" == params[:restart])
|
45
48
|
|
49
|
+
shared_simulator.quit_simulator if restart_requested
|
46
50
|
shared_simulator.launch_iphone_app( app_path, sdk )
|
47
51
|
end
|
data/lib/sim_launcher/client.rb
CHANGED
@@ -25,15 +25,15 @@ module SimLauncher
|
|
25
25
|
@server_uri = URI.parse( uri.to_s )
|
26
26
|
end
|
27
27
|
|
28
|
-
def launch
|
29
|
-
full_request_uri = launch_uri
|
28
|
+
def launch(restart=false)
|
29
|
+
full_request_uri = launch_uri(restart)
|
30
30
|
puts "requesting #{full_request_uri}" if $DEBUG
|
31
31
|
response = Net::HTTP.get( full_request_uri )
|
32
32
|
puts "iphonesim server reponded with:\n#{response}" if $DEBUG
|
33
33
|
end
|
34
34
|
|
35
35
|
def relaunch
|
36
|
-
launch
|
36
|
+
launch(true)
|
37
37
|
end
|
38
38
|
|
39
39
|
# check that there appears to be a server ready for us to send commands to
|
@@ -53,10 +53,12 @@ module SimLauncher
|
|
53
53
|
|
54
54
|
private
|
55
55
|
|
56
|
-
def launch_uri
|
56
|
+
def launch_uri(requesting_restart)
|
57
57
|
full_request_uri = @server_uri.dup
|
58
58
|
full_request_uri.path = "/launch_#{@family}_app"
|
59
|
-
full_request_uri.query = "app_path=" + CGI.escape( @app_path )
|
59
|
+
full_request_uri.query = "app_path=" + CGI.escape( @app_path )
|
60
|
+
full_request_uri.query += "&sdk=" + CGI.escape( @sdk ) unless @sdk.nil?
|
61
|
+
full_request_uri.query += "&restart=" + (!!requesting_restart).to_s
|
60
62
|
full_request_uri
|
61
63
|
end
|
62
64
|
|
@@ -1,15 +1,18 @@
|
|
1
|
-
require 'singleton'
|
2
|
-
|
3
1
|
module SimLauncher
|
4
2
|
class SdkDetector
|
5
|
-
|
3
|
+
|
4
|
+
def initialize(simulator = Simulator.new)
|
5
|
+
@simulator = simulator
|
6
|
+
end
|
7
|
+
|
8
|
+
def available_sdk_versions
|
9
|
+
@simulator.showsdks.split("\n").map { |sdk_line|
|
10
|
+
sdk_line[/\(([\d.]+)\)$/,1] # grab any "(x.x)" part at the end of the line
|
11
|
+
}.compact
|
12
|
+
end
|
6
13
|
|
7
14
|
def latest_sdk_version
|
8
|
-
|
9
|
-
latest_iphone_sdk = `xcodebuild -showsdks | grep -o "iphonesimulator.*$"`.split.sort.last
|
10
|
-
@latest_sdk_version = latest_iphone_sdk[/iphonesimulator(.*)/,1]
|
11
|
-
end
|
12
|
-
@latest_sdk_version
|
15
|
+
available_sdk_versions.sort.last
|
13
16
|
end
|
14
17
|
|
15
18
|
end
|
@@ -10,7 +10,7 @@ class Simulator
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def launch_ios_app(app_path, sdk_version, device_family)
|
13
|
-
sdk_version ||= SdkDetector.
|
13
|
+
sdk_version ||= SdkDetector.new(self).latest_sdk_version
|
14
14
|
run_synchronous_command( :launch, app_path, sdk_version, device_family )
|
15
15
|
end
|
16
16
|
|
@@ -22,6 +22,10 @@ class Simulator
|
|
22
22
|
launch_ios_app( app_path, sdk, 'iphone' )
|
23
23
|
end
|
24
24
|
|
25
|
+
def quit_simulator
|
26
|
+
`echo 'application "iPhone Simulator" quit' | osascript`
|
27
|
+
end
|
28
|
+
|
25
29
|
def run_synchronous_command( *args )
|
26
30
|
cmd = cmd_line_with_args( args )
|
27
31
|
puts "executing #{cmd}" if $DEBUG
|
data/lib/sim_launcher/version.rb
CHANGED
metadata
CHANGED
@@ -1,44 +1,35 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: sim_launcher
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 3
|
8
|
-
- 3
|
9
|
-
version: 0.3.3
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.3.5
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- Pete Hodgson
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-11-14 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: sinatra
|
22
|
-
|
23
|
-
|
24
|
-
requirements:
|
25
|
-
- -
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
|
28
|
-
- 0
|
29
|
-
version: "0"
|
16
|
+
requirement: &2160168080 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
30
22
|
type: :runtime
|
31
|
-
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *2160168080
|
32
25
|
description:
|
33
|
-
email:
|
26
|
+
email:
|
34
27
|
- rubygems@thepete.net
|
35
|
-
executables:
|
28
|
+
executables:
|
36
29
|
- sim_launcher
|
37
30
|
extensions: []
|
38
|
-
|
39
31
|
extra_rdoc_files: []
|
40
|
-
|
41
|
-
files:
|
32
|
+
files:
|
42
33
|
- .gitignore
|
43
34
|
- .gitmodules
|
44
35
|
- Gemfile
|
@@ -52,35 +43,28 @@ files:
|
|
52
43
|
- lib/sim_launcher/version.rb
|
53
44
|
- native/iphonesim
|
54
45
|
- sim_launcher.gemspec
|
55
|
-
has_rdoc: true
|
56
46
|
homepage: http://rubygems.org/gems/sim_launcher
|
57
47
|
licenses: []
|
58
|
-
|
59
48
|
post_install_message:
|
60
49
|
rdoc_options: []
|
61
|
-
|
62
|
-
require_paths:
|
50
|
+
require_paths:
|
63
51
|
- lib
|
64
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
requirements:
|
73
|
-
- -
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
|
76
|
-
- 0
|
77
|
-
version: "0"
|
52
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ! '>='
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '0'
|
58
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
|
+
none: false
|
60
|
+
requirements:
|
61
|
+
- - ! '>='
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '0'
|
78
64
|
requirements: []
|
79
|
-
|
80
65
|
rubyforge_project:
|
81
|
-
rubygems_version: 1.
|
66
|
+
rubygems_version: 1.8.10
|
82
67
|
signing_key:
|
83
68
|
specification_version: 3
|
84
69
|
summary: tiny HTTP server to launch an app in the iOS simulator
|
85
70
|
test_files: []
|
86
|
-
|