brianleroux-phonegap 0.3.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitmodules +3 -0
- data/README.md +25 -4
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/bin/iphonesim +0 -0
- data/bin/phonegap +5 -0
- data/lib/devices/iphone.rb +21 -11
- data/lib/phonegap.rb +4 -39
- data/phonegap.gemspec +5 -4
- data/test/phonegap-dev_test.rb +3 -5
- metadata +6 -3
data/.gitmodules
ADDED
data/README.md
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
PhoneGap Developer
|
2
2
|
===
|
3
|
-
Command line utilities for PhoneGap
|
3
|
+
Command line utilities for PhoneGap.
|
4
4
|
|
5
|
+
- source installation
|
5
6
|
- app generation
|
7
|
+
- app debugging
|
6
8
|
- app packaging
|
7
9
|
- system reporting
|
8
10
|
|
@@ -11,15 +13,34 @@ Usage
|
|
11
13
|
phonegap --generate path/to/MyFreshApp
|
12
14
|
phonegap --build path/to/MyFreshApp
|
13
15
|
phonegap --report path/to/MyFreshApp
|
14
|
-
|
16
|
+
phonegap --install
|
17
|
+
|
15
18
|
Options
|
16
19
|
---
|
17
20
|
-h, --help ......... Displays help message.
|
21
|
+
-i, --install ...... Installs the PhoneGap source into ~/.phonegap
|
18
22
|
-v, --version ..... Display the version and then exit.
|
19
23
|
-g, --generate ..... Generates a PhoneGap application skeleton.
|
20
24
|
-b, --build ........ Compiles your PhoneGapp application for supported platforms.
|
21
25
|
-r, --report ....... Generates a report for supported SDK's.
|
22
26
|
|
27
|
+
Thank you to the various PhoneGap hackers whom make this script possible
|
28
|
+
---
|
29
|
+
|
30
|
+
- Rob Ellis
|
31
|
+
- Brock Whitten
|
32
|
+
- Dave Johnson
|
33
|
+
- Joe Bowser
|
34
|
+
- Shazron Abdullah
|
35
|
+
- Fil Maj
|
36
|
+
|
37
|
+
This project makes use of other awesome tools such as...
|
38
|
+
|
39
|
+
iPhone Simulator
|
40
|
+
---
|
41
|
+
http://github.com/jhaynie/iphonesim/tree/master
|
42
|
+
|
43
|
+
- Jeff Haynie <jhaynie@appcelerator.com>
|
44
|
+
- Landon Fuller <landonf@plausiblelabs.com>
|
23
45
|
|
24
|
-
Copyright (c) 2009 Brian LeRoux. Licensed under the MIT License:
|
25
|
-
http://www.opensource.org/licenses/mit-license.php
|
46
|
+
Copyright (c) 2009 Brian LeRoux. Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
|
data/Rakefile
CHANGED
@@ -12,6 +12,7 @@ begin
|
|
12
12
|
gem.rubyforge_project = "phonegap"
|
13
13
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
14
14
|
gem.add_dependency('rubyzip')
|
15
|
+
gem.executables = ["phonegap","iphonesim"]
|
15
16
|
end
|
16
17
|
|
17
18
|
Jeweler::RubyforgeTasks.new
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.1
|
data/bin/iphonesim
ADDED
Binary file
|
data/bin/phonegap
CHANGED
@@ -22,6 +22,11 @@ class PhoneGapConsole
|
|
22
22
|
exit
|
23
23
|
end
|
24
24
|
|
25
|
+
opts.on("-i", '--install', "Installs PhoneGap source #{ p.version } into ~/.phonegap") do
|
26
|
+
puts p.install_phonegap_sauce
|
27
|
+
exit
|
28
|
+
end
|
29
|
+
|
25
30
|
opts.on("-b", "--build PATH", "Compiles your PhoneGapp application for supported platforms.") do |path|
|
26
31
|
puts p.build(path)
|
27
32
|
exit
|
data/lib/devices/iphone.rb
CHANGED
@@ -1,22 +1,32 @@
|
|
1
1
|
module Iphone
|
2
|
-
# TODO need to verify version
|
2
|
+
# TODO need to verify version
|
3
3
|
def iphone_supported?
|
4
4
|
return File.exists?("/usr/bin/xcodebuild")
|
5
5
|
end
|
6
6
|
|
7
|
+
# options for the build
|
8
|
+
def config
|
9
|
+
{'Release'=>'iphoneos3.0','Debug'=>'iphonesimulator3.0'}
|
10
|
+
end
|
11
|
+
|
12
|
+
def is
|
13
|
+
File.join(platform_path,'iphone/www')
|
14
|
+
end
|
15
|
+
|
7
16
|
# builds the iphone using xcode, FIXME should use open toolchain
|
8
|
-
def build_iphone(path_to_build)
|
9
|
-
if iphone_supported?
|
10
|
-
|
17
|
+
def build_iphone(path_to_build, debug=true)
|
18
|
+
if iphone_supported?
|
19
|
+
puts "Building for iPhone..."
|
11
20
|
www_local = File.join(path_to_build,'www')
|
12
|
-
www_build = File.join(
|
13
|
-
|
14
|
-
puts "
|
15
|
-
|
16
|
-
|
17
|
-
|
21
|
+
www_build = File.join(platform_path,'iphone/www')
|
22
|
+
FileUtils.mkdir_p(path_to_build)
|
23
|
+
puts "Copying #{www_local} to #{www_build}..."
|
24
|
+
File.copy(www_local, www_build)
|
25
|
+
puts `cd #{www_build}; /usr/bin/xcodebuild -alltargets -configuration Debug -sdk #{debug ? config['Debug'] : config['Release']}`
|
26
|
+
`iphonesim launch #{ www_build } 3.0` if debug
|
18
27
|
else
|
19
|
-
puts '
|
28
|
+
puts 'Skipping iPhone build: iphone sdk not installed.'
|
20
29
|
end
|
21
30
|
end
|
31
|
+
#
|
22
32
|
end
|
data/lib/phonegap.rb
CHANGED
@@ -9,40 +9,15 @@ class PhoneGap
|
|
9
9
|
include Blackberry
|
10
10
|
|
11
11
|
# outputs the current version of PhoneGap
|
12
|
-
# FIXME needs to pull from sauce repo found at install path
|
13
12
|
def version
|
14
|
-
'0.7.4'
|
13
|
+
'0.7.4' # FIXME needs to know which version is being submoduled in
|
15
14
|
end
|
16
15
|
|
17
|
-
#
|
18
|
-
def
|
19
|
-
File.
|
16
|
+
# path to the actual PhoneGap platforms source
|
17
|
+
def platform_path
|
18
|
+
File.join(File.dirname(__FILE__),'platforms/')
|
20
19
|
end
|
21
20
|
|
22
|
-
# check for the phonegap sauce
|
23
|
-
def has_phonegap_sauce?
|
24
|
-
File.exists?(install_path)
|
25
|
-
end
|
26
|
-
|
27
|
-
# downloads the latest version and puts it in install_path/version
|
28
|
-
def install_phonegap_sauce
|
29
|
-
url = URI.parse("http://github.com/sintaxi/phonegap/zipball/#{ version }/")
|
30
|
-
found = false
|
31
|
-
until found
|
32
|
-
host, port = url.host, url.port if url.host && url.port
|
33
|
-
req = Net::HTTP::Get.new(url.path)
|
34
|
-
res = Net::HTTP.start(host, port) {|http| http.request(req) }
|
35
|
-
res.header['location'] ? url = URI.parse(res.header['location']) :
|
36
|
-
found = true
|
37
|
-
end
|
38
|
-
FileUtils.mkdir_p(install_path)
|
39
|
-
zip_path = File.join(install_path, 'phonegap.zip')
|
40
|
-
final_path = File.join(install_path, version.gsub('.','-'))
|
41
|
-
open(zip_path, 'w+') {|f| f.write(res.body) }
|
42
|
-
unzip(zip_path, install_path)
|
43
|
-
File.mv File.expand_path("~/.phonegap/sintaxi-phonegap-2cd1b85903695b55626d95da117477200be8b57a"), File.expand_path("~/.phonegap/#{version.gsub('.','-')}")
|
44
|
-
end
|
45
|
-
|
46
21
|
# creates an app skeleton
|
47
22
|
def generate(path)
|
48
23
|
generate_path = File.join(Dir.pwd,path)
|
@@ -102,15 +77,5 @@ class PhoneGap
|
|
102
77
|
def trim(str)
|
103
78
|
str.gsub(' ','')
|
104
79
|
end
|
105
|
-
|
106
|
-
def unzip(file, destination)
|
107
|
-
Zip::ZipFile.open(file) do |zip_file|
|
108
|
-
zip_file.each do |f|
|
109
|
-
f_path = File.join(destination, f.name)
|
110
|
-
FileUtils.mkdir_p(File.dirname(f_path))
|
111
|
-
zip_file.extract(f, f_path) unless File.exist?(f_path)
|
112
|
-
end
|
113
|
-
end
|
114
|
-
end
|
115
80
|
#
|
116
81
|
end
|
data/phonegap.gemspec
CHANGED
@@ -5,14 +5,13 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{phonegap}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.4.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Brian LeRoux"]
|
12
|
-
s.date = %q{2009-08-
|
13
|
-
s.default_executable = %q{phonegap}
|
12
|
+
s.date = %q{2009-08-10}
|
14
13
|
s.email = %q{brian@westcoastlogic.com}
|
15
|
-
s.executables = ["phonegap"]
|
14
|
+
s.executables = ["phonegap", "iphonesim"]
|
16
15
|
s.extra_rdoc_files = [
|
17
16
|
"LICENSE",
|
18
17
|
"README.md"
|
@@ -20,10 +19,12 @@ Gem::Specification.new do |s|
|
|
20
19
|
s.files = [
|
21
20
|
".document",
|
22
21
|
".gitignore",
|
22
|
+
".gitmodules",
|
23
23
|
"LICENSE",
|
24
24
|
"README.md",
|
25
25
|
"Rakefile",
|
26
26
|
"VERSION",
|
27
|
+
"bin/iphonesim",
|
27
28
|
"bin/phonegap",
|
28
29
|
"lib/devices/android.rb",
|
29
30
|
"lib/devices/blackberry.rb",
|
data/test/phonegap-dev_test.rb
CHANGED
@@ -9,11 +9,9 @@ class PhonegapDevTest < Test::Unit::TestCase
|
|
9
9
|
should "be an expected version" do
|
10
10
|
assert_equal @p.version, '0.7.4'
|
11
11
|
end
|
12
|
-
|
13
|
-
should "
|
14
|
-
|
15
|
-
assert_equal true, File.exists?(File.expand_path('~/.phonegap'))
|
16
|
-
end
|
12
|
+
|
13
|
+
should "generate a phonegap project"
|
14
|
+
should "build a phonegap project for the iphone"
|
17
15
|
end
|
18
16
|
#
|
19
17
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brianleroux-phonegap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian LeRoux
|
@@ -9,8 +9,8 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-08-
|
13
|
-
default_executable:
|
12
|
+
date: 2009-08-10 00:00:00 -07:00
|
13
|
+
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rubyzip
|
@@ -26,6 +26,7 @@ description:
|
|
26
26
|
email: brian@westcoastlogic.com
|
27
27
|
executables:
|
28
28
|
- phonegap
|
29
|
+
- iphonesim
|
29
30
|
extensions: []
|
30
31
|
|
31
32
|
extra_rdoc_files:
|
@@ -34,10 +35,12 @@ extra_rdoc_files:
|
|
34
35
|
files:
|
35
36
|
- .document
|
36
37
|
- .gitignore
|
38
|
+
- .gitmodules
|
37
39
|
- LICENSE
|
38
40
|
- README.md
|
39
41
|
- Rakefile
|
40
42
|
- VERSION
|
43
|
+
- bin/iphonesim
|
41
44
|
- bin/phonegap
|
42
45
|
- lib/devices/android.rb
|
43
46
|
- lib/devices/blackberry.rb
|