summaryrefslogtreecommitdiff
path: root/platform/ios/test/OHHTTPStubs/Rakefile
diff options
context:
space:
mode:
Diffstat (limited to 'platform/ios/test/OHHTTPStubs/Rakefile')
-rw-r--r--platform/ios/test/OHHTTPStubs/Rakefile55
1 files changed, 55 insertions, 0 deletions
diff --git a/platform/ios/test/OHHTTPStubs/Rakefile b/platform/ios/test/OHHTTPStubs/Rakefile
new file mode 100644
index 0000000000..a7c7397fba
--- /dev/null
+++ b/platform/ios/test/OHHTTPStubs/Rakefile
@@ -0,0 +1,55 @@
+# Build & test OHHTTPStubs lib from the CLI
+
+desc 'Build an iOS scheme'
+task :ios, [:scheme, :ios_version, :action] do |_,args|
+ destination = "platform=iOS Simulator,name=iPhone 5,OS=#{args.ios_version}"
+ build("OHHTTPStubs #{args.scheme}", "iphonesimulator", destination, args.action)
+end
+
+desc 'Build an OSX scheme'
+task :osx, [:scheme, :arch, :action] do |_,args|
+ destination = "platform=OS X,arch=#{args.arch}"
+ build("OHHTTPStubs #{args.scheme}", "macosx", destination, args.action)
+end
+
+desc 'List installed simulators'
+task :simlist do
+ sh 'xcrun simctl list'
+end
+
+desc 'Run all travis env tasks locally'
+task :travis do
+ require 'YAML'
+ travis = YAML.load_file('.travis.yml')
+ travis['env'].each do |env|
+ arg = env.split('=')[1]
+ puts "\n" + ('-'*80) + "\n\n"
+ sh "rake #{arg}"
+ end
+end
+
+
+# Build the xcodebuild command and run it
+def build(scheme, sdk, destination, action)
+ puts <<-ANNOUNCE
+ =============================
+ | Action: #{action}
+ | Scheme: "#{scheme}"
+ | #{destination}
+ =============================
+
+ ANNOUNCE
+
+ cmd = %W(
+ xcodebuild
+ -workspace OHHTTPStubs/OHHTTPStubs.xcworkspace
+ -scheme "#{scheme}"
+ -sdk #{sdk}
+ -configuration Release
+ ONLY_ACTIVE_ARCH=NO
+ -destination '#{destination}'
+ clean #{action}
+ )
+
+ sh "set -o pipefail && #{cmd.join(' ')} | xcpretty -c"
+end