build and package mobile app
#require 'json'
#require 'fileutils'
task :ios_build do
system("chmod -R +w \"#{Dir.pwd}\"")
system("chmod -R 777 \"#{Dir.pwd}\"")
system("rm -rf \"#{Dir.pwd}/platforms\"")
system("export PATH=$PATH:/usr/local/bin/; cordova platforms rm ios")
system("export PATH=$PATH:/usr/local/bin/; cordova platforms add ios")
end
task :ios_package => :ios_build do
['dev', 'qa', 'uat', 'demo', 'preprod', 'prodtest', 'prod'].each do |env|
bundle_id = (['prod'].include?env) ? "au.com.pizzamogul" : "au.com.pizzamogul.dev"
code_sign_identity = (['prod'].include?env) ? "iPhone Distribution: Domino's Pizza Enterprises Limited" : "iPhone Distribution: Domino's Pizza Enterprises Limited (3E9U6978QT)"
provision_profile = (['prod'].include?env) ? "EC8DBFBE-5DFE-4058-B8B1-DA38BCB9398B" : "107458C5-9E2E-4D54-B7F9-4C03A16D886E"
system("export PATH=$PATH:/usr/local/bin/; ENV='#{env}' cordova prepare ios")
system("/usr/libexec/PlistBuddy -c \"Set :CFBundleIdentifier #{bundle_id}\" \"#{Dir.pwd}/platforms/ios/Pizza Mogul/Pizza Mogul-Info.plist\"")
system("source \"#{Dir.pwd}/platforms/ios/cordova/check_reqs\"")
system("xcodebuild clean build CODE_SIGN_IDENTITY=\"#{code_sign_identity}\" PROVISIONING_PROFILE=#{provision_profile} -project \"#{Dir.pwd}/platforms/ios/Pizza Mogul.xcodeproj\" ARCHS=\"armv7 armv7s\" -target \"Pizza Mogul\" -configuration Release -sdk iphoneos build VALID_ARCHS=\"armv7 armv7s\" CONFIGURATION_BUILD_DIR=\"#{Dir.pwd}/release/ios/#{env}\"")
system("xcrun -sdk iphoneos PackageApplication -v \"#{Dir.pwd}/release/ios/#{env}/Pizza Mogul.app\" -o \"#{Dir.pwd}/release/ios/#{env}/Pizza Mogul.ipa\"")
system("cp \"#{Dir.pwd}/platforms/ios/Pizza Mogul/Pizza Mogul-Info.plist\" \"#{Dir.pwd}/release/ios/#{env}/Pizza Mogul.plist\"")
system("cd \"#{Dir.pwd}/release/ios/#{env}\"; zip -r \"Pizza Mogul.app.dSYM.zip\" \"Pizza Mogul.app.dSYM\"")
end
end
task :ios_publish => :ios_package do
['dev', 'qa', 'uat', 'demo', 'preprod', 'prodtest', 'prod'].each do |env|
system("cp \"#{Dir.pwd}/release/ios/#{env}/Pizza Mogul.ipa\" \"/Volumes/builds/mogulwrapper/latest/ios/PizzaMogul_#{env}.ipa\"")
end
end
task :android_build do
system("chmod -R 777 \"#{Dir.pwd}\"")
system("cordova platforms rm android")
system("cordova platforms add android")
end
task :android_package => :android_build do
['dev', 'qa', 'uat', 'demo', 'preprod', 'prodtest', 'prod'].each do |env|
system("cp #{Dir.pwd}/build/android/#{env}.ant.properties #{Dir.pwd}/platforms/android/ant.properties")
system("ENV='#{env}' cordova build android --release")
system("mv #{Dir.pwd}/platforms/android/ant-build/PizzaMogul-release.apk #{Dir.pwd}/release/android/PizzaMogul-#{env}.apk")
end
end
task :android_publish => :android_package do
['dev', 'qa', 'uat', 'demo', 'preprod', 'prodtest', 'prod'].each do |env|
system("cp \"#{Dir.pwd}/release/android/PizzaMogul-#{env}.apk\" \"/Volumes/builds/mogulwrapper/latest/android/.\"")
end
end
#task :wp8_build do
# FileUtils.chmod_R(0777, "#{Dir.pwd}")
# system("cordova platforms rm wp8")
# system("cordova platforms add wp8")
#end
#task :wp8_package => :wp8_build do
# config = JSON.parse(File.read("#{Dir.pwd}/config/config.json"))
# ['dev', 'qa', 'uat', 'demo', 'preprod', 'prod'].each do |env|
# File.new("#{Dir.pwd}/platforms/wp8/www/js/index.js", 'w') << File.read("#{Dir.pwd}/www/js/index.js").gsub('%HOST%', config[env]["host"]).gsub('%TIMEOUT%', config[env]["timeout"].to_s)
# FileUtils.copy("#{Dir.pwd}/config/wp8/icons/ApplicationIconX62.png", "#{Dir.pwd}/platforms/wp8/ApplicationIcon.png")
# FileUtils.copy("#{Dir.pwd}/config/wp8/icons/BackgroundX173.png", "#{Dir.pwd}/platforms/wp8/Background.png")
# FileUtils.copy("#{Dir.pwd}/config/wp8/splash/SplashScreenImage480X800.jpg", "#{Dir.pwd}/platforms/wp8/SplashScreenImage.jpg")
# system("cordova build wp8 --release")
# FileUtils.cp_r("#{Dir.pwd}/platforms/wp8/Bin/Release", "#{Dir.pwd}/release/wp8/#{env}")
# end
#end