Skip to content

Instantly share code, notes, and snippets.

@pamelafox
Created December 23, 2011 02:03
Show Gist options
  • Save pamelafox/1512771 to your computer and use it in GitHub Desktop.
Save pamelafox/1512771 to your computer and use it in GitHub Desktop.
Android PhoneGap Workflow
MAKEFLAGS = --no-print-directory --always-make
MAKE = make $(MAKEFLAGS)
BUILDDIR = ./.build
CLOSUREURL = http://closure-compiler.googlecode.com/files/compiler-latest.zip
CLOSUREDIR = $(BUILDDIR)/closure
CLOSUREFILE = $(CLOSUREDIR)/compiler.jar
YUIURL = http://yui.zenfs.com/releases/yuicompressor/yuicompressor-2.4.6.zip
YUIDIR = $(BUILDDIR)/yui
YUIFILE = $(YUIDIR)/yuicompressor-2.4.6/build/yuicompressor-2.4.6.jar
JSHINTURL = https://github.com/jshint/jshint/zipball/master
JSHINTDIR = $(BUILDDIR)/jshint
GAEDIR = /usr/local/bin/
ANDROIDDIR = ./android/assets/www
downloadtools:
rm -Rf $(BUILDDIR);
mkdir $(BUILDDIR) $(CLOSUREDIR) $(YUIDIR) $(JSHINTDIR);
cd $(CLOSUREDIR); curl -L $(CLOSUREURL) > file.zip; tar -xf file.zip;
cd $(YUIDIR); curl -L $(YUIURL) > file.zip; tar -xf file.zip;
cd $(JSHINTDIR); curl -L $(JSHINTURL) > file.zip; tar -xf file.zip; cp -R jshint-*/* .; rm -rf jshint-*/;
jscss-clean:
rm -f $(STATICDIR)/js/libs.js \
$(STATICDIR)/js/libs-min.js \
$(STATICDIR)/js/all-web.js \
$(STATICDIR)/js/all-web-min.js \
$(STATICDIR)/css/all-web.css \
$(STATICDIR)/css/all-web-min.css \
$(STATICDIR)/css/all-phonegap-min* \
$(STATICDIR)/js/all-phonegap* \
$(STATICDIR)/js/all-phonegap-min* \
$(STATICDIR)/js/phonegap-fb-android.js \
$(STATICDIR)/js/phonegap-fb-ios.js \
$(STATICDIR)/css/all-blog* \
$(STATICDIR)/css/all-phonegap* \
$(ANDROIDDIR)/js/all-phonegap-min* \
$(ANDROIDDIR)/css/all-phonegap* \
$(IPHONEDIR)/css/all-phonegap-min* \
$(IPHONEDIR)/js/all-phonegap-min*;
jscss-jshint:
find $(STATICDIR)/js -maxdepth 1 -name "*.js" -exec $(JSHINTDIR)/env/jsc.sh {} \;
mobile-jscss-cat:
cat \
$(STATICDIR)/js/util.js \
$(STATICDIR)/js/data.js \
$(STATICDIR)/js/models.js \
$(STATICDIR)/js/shared.js \
$(STATICDIR)/js/mobile.js \
$(STATICDIR)/js/libs/date.format.js \
$(STATICDIR)/js/libs/jsrender.js \
$(STATICDIR)/js/libs/colorslider.js \
$(STATICDIR)/js/libs/bootstrap.datepicker.js \
$(STATICDIR)/js/libs/timeago.js \
$(STATICDIR)/js/libs/lscache.js \
$(STATICDIR)/js/libs/personalize.js \
> $(STATICDIR)/js/all-phonegap.js;
cat \
$(STATICDIR)/js/libs/pg-plugin-fb-connect.js \
$(STATICDIR)/js/libs/facebook_js_sdk.js \
> $(STATICDIR)/js/phonegap-fb-ios.js;
cat \
$(STATICDIR)/js/libs/facebook.js \
> $(STATICDIR)/js/phonegap-fb-android.js;
cat \
$(STATICDIR)/css/colorslider.css \
$(STATICDIR)/css/dateinput.css \
$(STATICDIR)/css/bootstrap-1.3.0.min.css \
$(STATICDIR)/css/phonegap.css \
> $(STATICDIR)/css/all-phonegap.css;
mobile-jscss-compress:
java -jar $(CLOSUREFILE) --js_output_file=$(STATICDIR)/js/all-phonegap-min.js --js=$(STATICDIR)/js/all-phonegap.js;
java -jar $(CLOSUREFILE) --js_output_file=$(STATICDIR)/js/libs/zepto-min.js --js=$(STATICDIR)/js/libs/zepto.js;
java -jar $(YUIFILE) $(STATICDIR)/css/all-phonegap.css -o $(STATICDIR)/css/all-phonegap-min.css;
android-jscss:
$(MAKE) jscss-clean;
$(MAKE) jscss-jshint;
$(MAKE) mobile-jscss-cat;
$(MAKE) mobile-jscss-compress;
python android_index.py > $(ANDROIDDIR)/index.html
cp $(STATICDIR)/js/all-phonegap-min.js $(ANDROIDDIR)/js/all-phonegap-min-`date +%m%d%H%M`.js;
cp $(STATICDIR)/css/all-phonegap-min.css $(ANDROIDDIR)/css/all-phonegap-min-`date +%m%d%H%M`.css;
sed -i '' "s/all-phonegap-min-[0-9]*\.js/all-phonegap-min-`date +%m%d%H%M`\.js/" $(ANDROIDDIR)/index.html
sed -i '' "s/all-phonegap-min-[0-9]*\.css/all-phonegap-min-`date +%m%d%H%M`\.css/" $(ANDROIDDIR)/index.html;
cp $(STATICDIR)/img/icon-* $(ANDROIDDIR)/css/images/.;
cp $(STATICDIR)/js/all-phonegap-min* $(ANDROIDDIR)/js/.;
cp $(STATICDIR)/css/all-phonegap-min* $(ANDROIDDIR)/css/.;
cp $(STATICDIR)/js/phonegap-fb-android.js $(ANDROIDDIR)/js/libs/phonegap-fb.js;
cp $(STATICDIR)/js/libs/zepto-min.js $(ANDROIDDIR)/js/libs/zepto-min.js;
android-build:
cd android; ant debug;
cd ../;
adb -d install -r ./android/bin/everyday.io-debug.apk
adb shell am start -n io.everyday.app/io.everyday.app.App
android-all:
$(MAKE) android-jscss;
$(MAKE) android-build;
android-release:
python android_release.py;
cd android; ant release;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment