Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
tmecklem committed Jan 9, 2015
2 parents 1e5055a + 8ca1ca2 commit ad114d1
Show file tree
Hide file tree
Showing 9 changed files with 66 additions and 96 deletions.
46 changes: 0 additions & 46 deletions .ebextensions/deploy.config

This file was deleted.

3 changes: 1 addition & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
language: ruby
rvm:
- "1.9.3"
- "2.0.0"
- "2.1.0"
- "2.1.1"
# uncomment this line if your project needs to run something other than `rake`:
# script: bundle exec rspec spec
# script: bundle exec rspec spec
29 changes: 2 additions & 27 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,27 +1,12 @@
source 'https://rubygems.org'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.3'

# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0'

# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'

# Use CoffeeScript for .js.coffee assets and views
gem 'coffee-rails', '~> 4.0.0'

# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails', '~> 3.1.0'
gem 'jquery_mobile_rails', '~> 1.4.1' #mobile html5 framework

# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks', '~>2.2.1'

# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 1.2'

Expand All @@ -38,7 +23,8 @@ group :development, :test do
gem 'guard-rspec', '~> 4.2.8'
gem 'guard-rails', '~> 0.5.0'
gem 'terminal-notifier-guard', '~> 1.5.3', require: false
gem 'debugger', '~> 1.6.6'
gem 'pry'
gem 'pry-byebug'
end

group :development do
Expand All @@ -51,18 +37,7 @@ gem 'browser', '~> 0.4.0' #device family detection

# Required to parse apk files
gem "apktools", '~> 0.6.0'

# Required to parse docs
gem "nokogiri", '~> 1.6.1'

# For uploading files
gem 'carrierwave', '0.10.0'

# Use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.1.2'

# Use unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano', group: :development
19 changes: 9 additions & 10 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@ GEM
debug_inspector (>= 0.0.1)
browser (0.4.1)
builder (3.1.4)
byebug (2.7.0)
columnize (~> 0.3)
debugger-linecache (~> 1.2)
carrierwave (0.10.0)
activemodel (>= 3.2.0)
activesupport (>= 3.2.0)
Expand All @@ -64,14 +67,9 @@ GEM
coffee-script-source
execjs
coffee-script-source (1.7.0)
columnize (0.3.6)
columnize (0.9.0)
debug_inspector (0.0.2)
debugger (1.6.6)
columnize (>= 0.3.1)
debugger-linecache (~> 1.2.0)
debugger-ruby_core_source (~> 1.3.2)
debugger-linecache (1.2.0)
debugger-ruby_core_source (1.3.2)
diff-lcs (1.2.5)
erubis (2.7.0)
execjs (2.0.2)
Expand Down Expand Up @@ -128,6 +126,9 @@ GEM
coderay (~> 1.0)
method_source (~> 0.8)
slop (~> 3.4)
pry-byebug (1.3.2)
byebug (~> 2.7)
pry (~> 0.9.12)
rack (1.5.2)
rack-test (0.6.2)
rack (>= 1.0)
Expand Down Expand Up @@ -195,8 +196,6 @@ GEM
treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
turbolinks (2.2.1)
coffee-rails
tzinfo (0.3.39)
uglifier (2.5.0)
execjs (>= 0.3.0)
Expand All @@ -215,7 +214,6 @@ DEPENDENCIES
browser (~> 0.4.0)
carrierwave (= 0.10.0)
coffee-rails (~> 4.0.0)
debugger (~> 1.6.6)
guard-rails (~> 0.5.0)
guard-rspec (~> 4.2.8)
haml-rails (~> 0.5.3)
Expand All @@ -224,11 +222,12 @@ DEPENDENCIES
jquery-rails (~> 3.1.0)
jquery_mobile_rails (~> 1.4.1)
nokogiri (~> 1.6.1)
pry
pry-byebug
rails (= 4.0.3)
rspec-rails (~> 2.14.2)
sass-rails (~> 4.0.0)
sdoc
terminal-notifier-guard (~> 1.5.3)
turbolinks (~> 2.2.1)
uglifier (>= 1.3.0)
whenever (~> 0.9.0)
23 changes: 22 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,25 @@ Differences from HockeyKit

* It provides more structured mobile device navigation based on app->release->build.
* It provides the means to install older build versions of the same release with minimal little hassle.
* It's not PHP.
* It's not PHP.

Getting Started
===============

One click heroku deploy
-----------------------
[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy)

Manual setup
------------

* Check out the code from github
* run bundle install
* set up the import cron job: bundle exec whenever -w
* run rails s
* add your apk or ipa files to public/import/

How does Shipmate work?
=======================

Shipmate analyzes iOS ipa and Android apk files dropped into public/import by reading the application structure within the files. It uses the internal structure to build up a corresponding filesystem. When you load the shipmate webapp in a mobile browser, it identifies your platform and gives sideload access to imported apps.
15 changes: 15 additions & 0 deletions app.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"name": "Shipmate",
"description": "Shipmate is a tool to help deploy mobile applications for testing prior to release to a public app store",
"keywords": [
"iOS",
"Android",
"apk",
"ipa",
"test",
"ship"
],
"repository": "https://github.com/tmecklem/shipmate",
"addons": [],
"env": {}
}
11 changes: 11 additions & 0 deletions app/controllers/ios_apps_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ def replace_url_in_plist_hash(asset_type, url, plist_hash)
def upload_mobileprovision
@mobile_provisioning_file = params[:upload_mobileprovision][:file]

delete_mobileprovision_files_for_app(params[:app_name])

File.open("public/apps/ios/#{params[:app_name]}/#{@mobile_provisioning_file.original_filename}", 'wb') do |f|
if f.write @mobile_provisioning_file.read
flash[:notice] = "Successfully saved the mobileprovision file for #{params[:app_name]}"
Expand All @@ -107,4 +109,13 @@ def upload_mobileprovision
redirect_to list_ios_app_releases_path
end

private

def delete_mobileprovision_files_for_app(app_name)
mobileprovision_files = Dir.glob(@ios_dir.join(app_name,"*.mobileprovision"))
mobileprovision_files.each do |file|
File.delete(file)
end
end

end
14 changes: 5 additions & 9 deletions app/views/ios_apps/list_app_releases.html.haml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,10 @@
%div{:style => 'border:0px solid silver; padding:5px;'}
%h4 Mobile Provisioning File

- if @mobileprovision.nil?
- unless @mobileprovision.nil?
= link_to @mobileprovision_file_name, @mobileprovision

%div{:style => 'margin-top:15px; padding-top:10px; border-top:1px solid silver;'}
= form_tag upload_mobileprovision_path, :method => :put, :app_name => params['app_name'], :multipart => true do
= file_field_tag 'upload_mobileprovision[file]'
= submit_tag 'Upload', :class => 'btn btn-primary'
- else
-#%i.icon-file
= @mobileprovision_file_name
%br
%br
= link_to 'Download', @mobileprovision, :class => 'btn'
= link_to 'Delete', '#', :class => 'btn btn-danger'
= submit_tag 'Upload', :class => 'btn btn-mini btn-primary'
2 changes: 1 addition & 1 deletion config/environments/production.rb
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
# config.action_dispatch.rack_cache = true

# Disable Rails's static asset server (Apache or nginx will already do this).
config.serve_static_assets = false
config.serve_static_assets = true

# Compress JavaScripts and CSS.
config.assets.js_compressor = :uglifier
Expand Down

0 comments on commit ad114d1

Please sign in to comment.