Skip to content

Commit

Permalink
Merge branch 'master' into f_ota_api_20095099
Browse files Browse the repository at this point in the history
Conflicts:
	Gemfile.lock
	cli/bin/commands/deploy.rb
  • Loading branch information
danieldkim committed Jan 5, 2012
2 parents 1773898 + 838d650 commit 4c345fa
Show file tree
Hide file tree
Showing 77 changed files with 971 additions and 6,640 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -14,6 +14,7 @@ app/data-fixtures/TouraConfig.js.*
log/*.log
tmp
chromedriver.log
app/fixtures/tour.js
lib/builder/project_templates/iOS/Toura/Toura-Info.plist
lib/builder/project_templates/iOS/Toura/UrbanAirship.plist
lib/builder/project_templates/iOS/build/*
Expand Down
6 changes: 4 additions & 2 deletions Gemfile
Expand Up @@ -8,7 +8,8 @@ gem 'json'
gem 'kramdown'
gem 'mustache'
gem 'sass', '3.1.4'
gem 'sinatra', '1.3.1'
gem 'sinatra', '1.3.2'
gem 'guid'

group :development, :test do
gem 'rake', '0.9.2'
Expand All @@ -24,6 +25,7 @@ group :test do
gem 'factory_girl', :require => false
gem 'fakefs', :require => false
gem 'jshintrb', '1.0.4', :git => 'git://github.com/Toura/jshintrb.git', :require => false
#gem 'racc' # For CYGWIN to compile nokogiri
gem 'rspec'
gem 'fakeweb', :require => false
end
end
15 changes: 8 additions & 7 deletions Gemfile.lock
Expand Up @@ -39,6 +39,7 @@ GEM
fakefs (0.4.0)
fakeweb (1.3.0)
ffi (1.0.11)
guid (0.1.1)
haml (3.1.2)
i18n (0.6.0)
json (1.5.3)
Expand All @@ -52,8 +53,8 @@ GEM
multi_json (1.0.3)
mustache (0.99.4)
nokogiri (1.5.0)
rack (1.3.5)
rack-protection (1.1.4)
rack (1.4.0)
rack-protection (1.2.0)
rack
rack-test (0.6.1)
rack (>= 1.0)
Expand All @@ -78,9 +79,9 @@ GEM
ffi (~> 1.0.9)
json_pure
rubyzip
sinatra (1.3.1)
rack (~> 1.3, >= 1.3.4)
rack-protection (~> 1.1, >= 1.1.2)
sinatra (1.3.2)
rack (~> 1.3, >= 1.3.6)
rack-protection (~> 1.2)
tilt (~> 1.3, >= 1.3.3)
therubyracer (0.9.9)
libv8 (~> 3.3.10)
Expand All @@ -97,7 +98,7 @@ DEPENDENCIES
evergreen
factory_girl
fakefs
fakeweb
guid
haml (= 3.1.2)
i18n
jshintrb (= 1.0.4)!
Expand All @@ -109,4 +110,4 @@ DEPENDENCIES
rspec
ruby-debug
sass (= 3.1.4)
sinatra (= 1.3.1)
sinatra (= 1.3.2)
195 changes: 32 additions & 163 deletions README.md
@@ -1,50 +1,29 @@
# Support
# Getting Started

- [Documentation](https://github.com/toura/mulberry/wiki)
- [Google Group](https://groups.google.com/forum/#!forum/toura-mulberry)
- #touramulberry on irc.freenode.net: A live chat room with Mulberry users and
developers. Use your own IRC client or [use Freenode's webchat](http://webchat.freenode.net/)
*Mulberry is supported on OSX Snow Leopard and Lion, and on Windows 7 64-bit
via Cygwin. You should read the relevant README for your operating system in
the `install` directory. Ubuntu is not officially supported, but it is reported
to work by following the instructions in the Ubuntu installation README.*

# Installation
## Installation

- Clone this repository to a location of your choosing.
1. Read `install/<your_operating_system>/README.md` for details on dependencies
for your operating system. The installation process takes care of as much of
this as possible, but **some dependencies may need to be installed manually
before the installation scrpits will work**.
2. Download the [latest release](https://github.com/Toura/mulberry/tags), or
clone the repository into a directory of your choosing:

`git clone git@github.com:Toura/mulberry.git`

- Add the full path to `cli/bin` to your path by editing your profile and
adding the following:

`export PATH=$PATH:/full/path/to/mulberry/cli/bin`

For example, if you cloned the repository to `~/projects/mulberry`, you
would add the following to your `.profile` file.

export PATH=$PATH:/Users/yourusername/projects/mulberry/cli/bin

- Install bundler if it is not already installed (note that you will need to
have [rubygems](http://docs.rubygems.org/read/chapter/3) installed; it is
installed by default on OSX):

`sudo gem install bundler`

- From the *root directory of the repository*, run the following command:
3. Once you have the code, `cd` to the `mulberry` directory, and run the following
command:

`bundle install --without test development`
`source ./install.sh`

- You're done! You should now be able to run mulberry from any directory.
# Developing Apps

Note: As you can infer from the `bundle install` command above, this does not
install any libraries for you to do development on Mulberry core, or run any of
the automated tests. If you wish to do these things, simply re-run the bundle
install command, omitting the `--without` flag:

bundle install

This will install the necessary libraries for ruby development and for running
the automated test suite.


# Setup
## Supported Mobile Platforms

Mulberry currently supports the following mobile platforms:

Expand All @@ -53,133 +32,14 @@ Mulberry currently supports the following mobile platforms:

Mulberry apps have been shown to run on WebOS, although not bug-free.

Mulberry apps do not support Windows Mobile or BlackBerry in any version.

Mulberry development tools are supported on the following platforms:

- OSX Snow Leopard and Lion

Mulberry development is not supported on Linux, but it might work. Please let
us know at mulberry@toura.com if you can get it working on a particular Linux distro.

We do not currently support running Mulberry on Windows or any other OS;
however, some work has been done to get it working on Windows -- additional
pull requests welcome!


## Installing PhoneGap

Mulberry supports PhoneGap 1.1. Any other version will not work.

Go to [the PhoneGap download page](https://github.com/callback/phonegap/zipball/1.1.0)
and download the 1.1.0 release. Extract it to a convenient directory.


### Installing iOS Phonegap Library

In the extracted phonegap directory, go into iOS, and run the installer.
The xcode project will call the lib that is installed to your computer.


### Installing Droidgap

You do not need to install droidgap as the Android project template included in
Mulberry already contains the compiled results.


## iOS Development

To build and run apps on iOS Simulator, you must:

- Own an Intel Mac running OSX Snow Leopard or Lion

- Download Xcode 4.1 or greater (preferably 4.2) from the
[Mac App Store](http://itunes.apple.com/us/app/xcode/id448457090?mt=12)


In order to submit your apps to the Apple iOS App Store, you must
[sign up with Apple's iOS Developer Program](http://developer.apple.com/programs/ios/)

## Android Development

To build and run apps on Android Simulator, you must:

- Install Java JDK 1.6 or above. This should install the java compiler (javac -version should return 1.6.x)
Mulberry does not currently support Windows Mobile or BlackBerry in any version.

- You may have to install Apache ant (`which ant`). We develop with ant 1.8.x (ant -version)
http://ant.apache.org
There are additional requirements for each platform:

- Download [Android SDK package](http://developer.android.com/sdk/index.html) for your platform

- On OSX, extract it to `/Developer/SDKs/android-sdk-mac_x86/`. If you do not
place it in this directory, Mulberry _should_ detect the location of it, but
this is the preferred location.

- Edit your shell's loading files (`.bashrc` or `.bash\_profile` for bash and
`.zshrc` for zsh) and add a line similar to:

`export PATH=$PATH:/Developer/SDKs/android-sdk-mac_x86/tools:/Developer/SDKs/android-sdk-mac_x86/platform-tools`

- Open a new teminal and run the SDK manager:

`android`

- Click "Available packages"

- Expand "Android Repository"

You should install:

- "Android SDK Tools" (latest revision)
- "Android SDK Platform-tools" (latest revision)
- SDK Platform Android 2.2, 2.3.x, 2.n (up to latest revision)
- SDK Platform Android 3.x

Expand "Third party Add-ons", then install:

- Google APIs 8, 9 (up to latest revision)

Be careful, as some tools require certain revisions, so if you see
"Skipping 'X'; it depends on 'Y'" you'll have to go back and choose X again.

Keep doing this until you've installed everything.

- You do not need, but may choose, to install the Samples and Documentation.
It's pretty useless and just takes up space.


### Creating an Android Virtual Device

Run the SDK manager by running `android` on the command line.

- On the "Virtual Devices" section click the "New..." button

- Name the device

- Select the Google APIs - API Level 8 (to test 2.2) as the target

- Make the SD card size 64 MB

- Click "Create AVD"

Now you can run the device by running `emulator @your-device-name -partition-size 128`

To rotate the device hit 7 or 9 on your numeric keypad. If you don't have one:
CTRL-F12 to rotate to landscape, CTRL-F11 to rotate back.


### Installing to your Android Virtual Device

Start the emulator, then type:

adb install -r /path/to/your.apk

# TODOs

See the github issues list https://github.com/Toura/mulberry/issues/

# Running the tests
- [iOS Application Development Requirements](https://github.com/Toura/mulberry/wiki/Requirements-for-Developing-iOS-Apps)
- [Android Application Development Requirements](https://github.com/Toura/mulberry/wiki/Requirements-for-Developing-Android-Apps)

# Running the Tests

Note that if you've been following along, you have not installed the libraries
to do testing. Run `bundle install` to install the test/development libraries necessary
Expand All @@ -202,4 +62,13 @@ You will need chromedriver in order to run the JavaScript tests. You can
[download chromedriver](http://code.google.com/p/chromium/downloads/list)
if you do not already have it installed; make sure you install it somewhere in your $PATH.

OSX users with [Homebrew](http://mxcl.github.com/homebrew/) installed can just `brew install chromedriver`.
This is automatically installed for you by the OSX installer, other platforms
will need to install it by hand.

# Getting Support

- [Documentation](https://github.com/toura/mulberry/wiki)
- [Google Group](https://groups.google.com/forum/#!forum/toura-mulberry)
- #touramulberry on irc.freenode.net: A live chat room with Mulberry users and
developers. Use your own IRC client or [use Freenode's webchat](http://webchat.freenode.net/)

5 changes: 0 additions & 5 deletions app/data-fixtures/client_customizations/vars.scss

This file was deleted.

0 comments on commit 4c345fa

Please sign in to comment.