diff options
Diffstat (limited to 'platform/ios/test/OHHTTPStubs/Rakefile')
-rw-r--r-- | platform/ios/test/OHHTTPStubs/Rakefile | 55 |
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 |