2.6.1 • Published 8 years ago

ionic-cordova-gulp-seed v2.6.1

Weekly downloads
5
License
MIT
Repository
github
Last release
8 years ago

Features

  • Application can be run in a local http server, or emulated/released to Android/iOS
  • A lot of useful gulp tasks, like:
    • gulp - watch for changes + browser-sync (http server with livereload) + weinre debugger
    • gulp cordova:emulate:ios - run application in iOS emulator
    • gulp cordova:run:android - run application on Android's devise
    • Run gulp help or see gulp/tasks.coffee for more information about all tasks
  • Useful hooks and tweaks, which allow you to deploy your cordova app out-of-the-box
  • SASS + CoffeeScript + Jade combo
  • Support for multiple environments, like development, staging, production (configuration available in gulpfile.coffee)
  • Tests configured and working: unit (karma + mocha) and end to end (protractor)
  • Rollbar support (configured, working in angular functions and support for uploading the sourcemaps to Rollbar server)

Requirements

  • NodeJS
  • Cordova 4.2+
  • Android or iOS SDK installed and configured (required only if you want to deploy the app to native mobile platforms - you can run gulp server without that)

How to install

git clone jtomaszewski/ionicstarter-mobile
cd ionicstarter-mobile
git submodule update --init --recursive

# install dependencies
npm install
npm install -g gulp
bower install
brew install imagemagick # or `apt-get install imagemagick`, if you're on linux

gulp # build www/ directory and run http server on 4440 port

If you get "too many files" error, try: ulimit -n 10000. You may want to add this line to your .bashrc / .zshrc / config.fish.

What does the gulp build do?

More or less:

  • All .scss, .coffee, .jade files from app/ will be compiled and copied to www/
  • All .ejs files from assets/ will be compiled to www/.
  • All other files from assets/ will be copied to www/.

For detailed description, see gulpfile.coffee.

P.S. www/ is like dist/ directory for Cordova. That's why it's not included in this repository, as it's fully generated with gulp.

Testing

Requirements: installed PhantomJS and configured selenium standalone webdriver.

Unit tests (karma & PhantomJS/Chrome)

gulp test:unit # using PhantomJS
gulp test:unit --browsers Chrome # or using Google Chrome

e2e tests (protractor & selenium)

gulp # your www/ directory should be built and served at :4400 port
node_modules/.bin/webdriver-manager start & # run selenium server in the background

gulp test:e2e # finally, run e2e tests

How to run on mobile?

I recommend tmux for handling multiple terminal tabs/windows ;)

  1. Copy .envrc.android-sample or .envrc.ios-sample to .envrc and configure it.
  • Ofcourse, if you're a Mac user and you can compile both Android and iOS on the same machine, you can include all the variables from both of these files in only one .envrc .

  • Also, make sure you have all the keys and certificates needed stored in keys/android/ and keys/ios/:

    • keys/android/ionicstarter.keystore
    • keys/ios/ionicstarter_staging.mobileprovision
    • keys/ios/ionicstarter_production.mobileprovision
  1. Ensure, you have configured ios/android platform with Cordova, f.e. by running gulp cordova:platform-add:[ios|android].

  2. Run gulp cordova:emulate:[ios|android] or gulp cordova:run:[ios|android].

Releasing to appstores

First, generate the certificate keys:

Android

  1. Generate .keystore file: keytool -genkey -v -keystore keys/android/$ANDROID_KEYSTORE_NAME.keystore -alias $ANDROID_ALIAS_NAME -keyalg RSA -keysize 2048 -validity 10000

iPhone

  1. Create a certificate and a provisioning profile, as it's described here.

  2. Download the provisioning profile and copy it into keys/ios/, so it will match the IOS_PROVISIONING_PROFILE file set up in the gulpfile.coffee.

Then, generate the application and deploy it to the webserver with:

gulp release:[ios|android] --env=[staging|production]
2.6.1

8 years ago

2.6.0

8 years ago

2.5.5

8 years ago

2.5.4

8 years ago

2.5.3

8 years ago

2.5.2

9 years ago

2.5.1

9 years ago

2.5.0

9 years ago

2.4.0

10 years ago

2.3.4

10 years ago

2.3.3

10 years ago

2.3.2

10 years ago

2.3.1

10 years ago

2.3.0

10 years ago

2.2.13

10 years ago

2.2.12

10 years ago

2.2.11

10 years ago

2.2.10

10 years ago

2.2.9

10 years ago

2.2.6

10 years ago

2.2.3

10 years ago

2.2.2

10 years ago

2.2.1

10 years ago

2.0.0

10 years ago