tmaximini / ionic-gulp-seed

A starting point for Ionic Apps
74 stars 20 forks source link

Add cordova release task #11

Open mobidev111 opened 9 years ago

mobidev111 commented 9 years ago

Nice work.

One suggestion: Extend the automated toolchain into packaging Cordova apps: After building the ionic for deployment, the app needs to be packaged into the corresponding app containers.

The following code solves this nicely, although in coffee script: https://github.com/jtomaszewski/ionic-cordova-gulp-seed/blob/master/gulp/tasks/release.coffee https://github.com/jtomaszewski/ionic-cordova-gulp-seed/blob/master/gulp/tasks/cordova.coffee

  # Build a release.
  gulp.task "cordova:build-release:#{platform}",
    "Builds the app release version for #{platform} (runs `cordova build #{platform} --release`)",
    ["cordova:platform-add:#{platform}", "build-release"],
    ->
      shell.task(generateEnvCommand() + "node_modules/.bin/cordova build #{platform} --release" + ((" --device" if platform == "ios") || ""))()

  # Sign the release.
  if platform == "ios"
    if GLOBALS.IOS_PROVISIONING_PROFILE
      gulp.task "cordova:sign-release:ios",
        "Signs the release of iOS app with '#{GLOBALS.IOS_PROVISIONING_PROFILE}' and compiles it to 'platforms/ios/#{GLOBALS.BUNDLE_NAME}.ipa' binary file"
        ->
          shell.task("xcrun -sdk iphoneos PackageApplication \
            -v platforms/ios/build/device/#{GLOBALS.BUNDLE_NAME}.app \
            -o #{GLOBALS.APP_ROOT}platforms/ios/#{GLOBALS.BUNDLE_NAME}.ipa \
            --embed #{GLOBALS.IOS_PROVISIONING_PROFILE}")()
  else
    gulp.task "cordova:sign-release:#{platform}", false, []

I'm willing to test & extend if needed.

tmaximini commented 9 years ago

good idea, I will look into this when I find the time