require 'xcjobs' def destinations if ENV['CIRCLECI'] [ 'name=iPhone 6,OS=9.0', 'name=iPhone 6 Plus,OS=9.0' ] else [ 'name=iPad 2,OS=8.1', 'name=iPad Air,OS=8.1', 'name=iPhone 4s,OS=8.1', 'name=iPhone 5,OS=8.1', 'name=iPhone 5s,OS=8.1', 'name=iPhone 6,OS=8.1', 'name=iPhone 6 Plus,OS=8.1', 'name=iPhone 6,OS=9.0', 'name=iPhone 6 Plus,OS=9.0' ] end end XCJobs::Build.new('build:simulator') do |t| t.project = 'KeychainAccess' t.scheme = 'KeychainAccess-iOS' t.sdk = 'iphonesimulator' t.configuration = 'Release' t.build_dir = 'build' t.formatter = 'xcpretty -c' t.add_build_setting('CODE_SIGN_IDENTITY', '') t.add_build_setting('CODE_SIGNING_REQUIRED', 'NO') end XCJobs::Build.new('build:device') do |t| t.project = 'KeychainAccess' t.scheme = 'KeychainAccess-iOS' t.sdk = 'iphoneos' t.configuration = 'Release' t.build_dir = 'build' t.formatter = 'xcpretty -c' t.add_build_setting('CODE_SIGN_IDENTITY', '') t.add_build_setting('CODE_SIGNING_REQUIRED', 'NO') end XCJobs::Build.new('build:osx') do |t| t.project = 'KeychainAccess' t.scheme = 'KeychainAccess-Mac' t.configuration = 'Release' t.build_dir = 'build' t.formatter = 'xcpretty -c' t.add_build_setting('CODE_SIGN_IDENTITY', '') t.add_build_setting('CODE_SIGNING_REQUIRED', 'NO') end XCJobs::Test.new('test:ios') do |t| t.project = 'KeychainAccess' t.scheme = 'KeychainAccess-iOS' t.configuration = 'Release' destinations.each do |destination| t.add_destination(destination) end t.build_dir = 'build' t.formatter = 'xcpretty -c' end XCJobs::Test.new('test:osx') do |t| t.project = 'KeychainAccess' t.scheme = 'KeychainAccess-Mac' t.sdk = 'macosx' t.configuration = 'Release' t.build_dir = 'build' t.formatter = 'xcpretty -c' end