brianleroux-phonegap 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +5 -0
- data/LICENSE +21 -0
- data/README.md +37 -0
- data/Rakefile +58 -0
- data/VERSION +1 -0
- data/lib/devices/android.rb +11 -0
- data/lib/devices/blackberry.rb +11 -0
- data/lib/devices/iphone.rb +22 -0
- data/lib/generate/config/android-dev-cert.txt +0 -0
- data/lib/generate/config/blackberry-dev-cert.txt +0 -0
- data/lib/generate/config/bootstrap.js +8 -0
- data/lib/generate/config/iphone-dev-cert.txt +0 -0
- data/lib/generate/www/assets/css/master.css +97 -0
- data/lib/generate/www/assets/js/phongap.js +1122 -0
- data/lib/generate/www/index.html +303 -0
- data/lib/phonegap-console.rb +50 -0
- data/lib/phonegap.rb +79 -0
- data/test/phonegap-dev_test.rb +7 -0
- data/test/test_helper.rb +10 -0
- metadata +74 -0
data/.document
ADDED
data/LICENSE
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
Copyright (c) 2009 Brian LeRoux. Licensed under the MIT License:
|
2
|
+
http://www.opensource.org/licenses/mit-license.php
|
3
|
+
|
4
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
5
|
+
a copy of this software and associated documentation files (the
|
6
|
+
"Software"), to deal in the Software without restriction, including
|
7
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
8
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
+
permit persons to whom the Software is furnished to do so, subject to
|
10
|
+
the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be
|
13
|
+
included in all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,37 @@
|
|
1
|
+
PhoneGap Developer
|
2
|
+
===
|
3
|
+
Command line utilities for PhoneGap:
|
4
|
+
|
5
|
+
- app generation
|
6
|
+
- app packaging
|
7
|
+
- system reporting
|
8
|
+
|
9
|
+
Usage
|
10
|
+
---
|
11
|
+
phonegap --generate path/to/MyFreshApp
|
12
|
+
phonegap --build path/to/MyFreshApp
|
13
|
+
phonegap --report path/to/MyFreshApp
|
14
|
+
|
15
|
+
Options
|
16
|
+
---
|
17
|
+
-h, --help ......... Displays help message.
|
18
|
+
-v, --version ..... Display the version and then exit.
|
19
|
+
-g, --generate ..... Generates a PhoneGap application skeleton.
|
20
|
+
-b, --build ........ Compiles your PhoneGapp application for supported platforms.
|
21
|
+
-r, --report ....... Generates a report for supported SDK's.
|
22
|
+
|
23
|
+
TODO
|
24
|
+
---
|
25
|
+
- make executable chmod +x phonegap.rb
|
26
|
+
- install phonegap source into ~/.phonegap using git if available
|
27
|
+
- make bootstrap.js useful
|
28
|
+
- add debug and release options
|
29
|
+
- launch iphone simulator
|
30
|
+
- builds for each platform
|
31
|
+
- fix report for android and blackberry
|
32
|
+
- check for specific versions of iphone, android and bb in the report and build
|
33
|
+
- gemify
|
34
|
+
- add shoulda tests
|
35
|
+
|
36
|
+
Copyright (c) 2009 Brian LeRoux. Licensed under the MIT License:
|
37
|
+
http://www.opensource.org/licenses/mit-license.php
|
data/Rakefile
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
|
4
|
+
begin
|
5
|
+
require 'jeweler'
|
6
|
+
Jeweler::Tasks.new do |gem|
|
7
|
+
gem.name = "phonegap"
|
8
|
+
gem.summary = %Q{TODO}
|
9
|
+
gem.email = "brian@westcoastlogic.com"
|
10
|
+
gem.homepage = "http://github.com/brianleroux/phonegap-dev"
|
11
|
+
gem.authors = ["Brian LeRoux"]
|
12
|
+
gem.rubyforge_project = "phonegap"
|
13
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
14
|
+
end
|
15
|
+
|
16
|
+
Jeweler::RubyforgeTasks.new
|
17
|
+
rescue LoadError
|
18
|
+
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
19
|
+
end
|
20
|
+
|
21
|
+
require 'rake/testtask'
|
22
|
+
Rake::TestTask.new(:test) do |test|
|
23
|
+
test.libs << 'lib' << 'test'
|
24
|
+
test.pattern = 'test/**/*_test.rb'
|
25
|
+
test.verbose = true
|
26
|
+
end
|
27
|
+
|
28
|
+
begin
|
29
|
+
require 'rcov/rcovtask'
|
30
|
+
Rcov::RcovTask.new do |test|
|
31
|
+
test.libs << 'test'
|
32
|
+
test.pattern = 'test/**/*_test.rb'
|
33
|
+
test.verbose = true
|
34
|
+
end
|
35
|
+
rescue LoadError
|
36
|
+
task :rcov do
|
37
|
+
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
task :default => :test
|
43
|
+
|
44
|
+
require 'rake/rdoctask'
|
45
|
+
Rake::RDocTask.new do |rdoc|
|
46
|
+
if File.exist?('VERSION.yml')
|
47
|
+
config = YAML.load(File.read('VERSION.yml'))
|
48
|
+
version = "#{config[:major]}.#{config[:minor]}.#{config[:patch]}"
|
49
|
+
else
|
50
|
+
version = ""
|
51
|
+
end
|
52
|
+
|
53
|
+
rdoc.rdoc_dir = 'rdoc'
|
54
|
+
rdoc.title = "phonegap #{version}"
|
55
|
+
rdoc.rdoc_files.include('README*')
|
56
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
57
|
+
end
|
58
|
+
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.1.0
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Iphone
|
2
|
+
# TODO need to verify version is 3.0
|
3
|
+
def iphone_supported?
|
4
|
+
return File.exists?("/usr/bin/xcodebuild")
|
5
|
+
end
|
6
|
+
|
7
|
+
# builds the iphone using xcode, FIXME should use open toolchain
|
8
|
+
def build_iphone(path_to_build)
|
9
|
+
if iphone_supported?
|
10
|
+
FileUtils.mkdir_p(path_to_build)
|
11
|
+
www_local = File.join(path_to_build,'www')
|
12
|
+
www_build = File.join(install_path,'iphone')
|
13
|
+
puts '\building for iphone...\n'
|
14
|
+
puts "copying #{www_local} to #{www_build}...#{`cp -r #{www_local} #{www_build}`}\n"
|
15
|
+
# Debug, Release
|
16
|
+
conf = {'Release'=>'iphoneos3.0','Debug'=>'iphonesimulator3.0'}
|
17
|
+
puts `cd #{www_build}; /usr/bin/xcodebuild -alltargets -configuration Debug -sdk #{conf['Debug']}`
|
18
|
+
else
|
19
|
+
puts 'skipping iphone build: iphone sdk not installed'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,97 @@
|
|
1
|
+
|
2
|
+
body {
|
3
|
+
background:#222 none repeat scroll 0 0;
|
4
|
+
color:#666;
|
5
|
+
font-family:Helvetica;
|
6
|
+
font-size:72%;
|
7
|
+
line-height:1.5em;
|
8
|
+
margin:0;
|
9
|
+
border-top:1px solid #393939;
|
10
|
+
}
|
11
|
+
|
12
|
+
#info{
|
13
|
+
background:#ffa;
|
14
|
+
border: 1px solid #ffd324;
|
15
|
+
-webkit-border-radius: 5px;
|
16
|
+
border-radius: 5px;
|
17
|
+
clear:both;
|
18
|
+
margin:15px 6px 0;
|
19
|
+
width:295px;
|
20
|
+
padding:4px 0px 2px 10px;
|
21
|
+
}
|
22
|
+
|
23
|
+
#info h4{
|
24
|
+
font-size:.95em;
|
25
|
+
margin:0;
|
26
|
+
padding:0;
|
27
|
+
}
|
28
|
+
|
29
|
+
#stage.theme{
|
30
|
+
padding-top:3px;
|
31
|
+
}
|
32
|
+
|
33
|
+
/* Definition List */
|
34
|
+
#Page1 > dl{
|
35
|
+
padding-top:10px;
|
36
|
+
clear:both;
|
37
|
+
margin:0;
|
38
|
+
list-style-type:none;
|
39
|
+
padding-left:10px;
|
40
|
+
overflow:auto;
|
41
|
+
}
|
42
|
+
|
43
|
+
#Page1 > dl > dt{
|
44
|
+
font-weight:bold;
|
45
|
+
float:left;
|
46
|
+
margin-left:5px;
|
47
|
+
}
|
48
|
+
|
49
|
+
#Page1 > dl > dd{
|
50
|
+
width:45px;
|
51
|
+
float:left;
|
52
|
+
color:#a87;
|
53
|
+
font-weight:bold;
|
54
|
+
}
|
55
|
+
|
56
|
+
/* Content Styling */
|
57
|
+
h1, h2, p{
|
58
|
+
margin:1em 0 .5em 13px;
|
59
|
+
}
|
60
|
+
|
61
|
+
h1{
|
62
|
+
color:#eee;
|
63
|
+
font-size:1.6em;
|
64
|
+
text-align:center;
|
65
|
+
margin:0;
|
66
|
+
margin-top:15px;
|
67
|
+
padding:0;
|
68
|
+
}
|
69
|
+
|
70
|
+
h2{
|
71
|
+
clear:both;
|
72
|
+
margin:0;
|
73
|
+
padding:3px;
|
74
|
+
font-size:1em;
|
75
|
+
text-align:center;
|
76
|
+
}
|
77
|
+
|
78
|
+
/* Stage Buttons */
|
79
|
+
#stage.theme a.btn{
|
80
|
+
border: 1px solid #555;
|
81
|
+
-webkit-border-radius: 5px;
|
82
|
+
border-radius: 5px;
|
83
|
+
text-align:center;
|
84
|
+
display:block;
|
85
|
+
float:left;
|
86
|
+
background:#444;
|
87
|
+
width:150px;
|
88
|
+
color:#9ab;
|
89
|
+
font-size:1.1em;
|
90
|
+
text-decoration:none;
|
91
|
+
padding:1.2em 0;
|
92
|
+
margin:3px 0px 3px 5px;
|
93
|
+
}
|
94
|
+
#stage.theme a.btn.large{
|
95
|
+
width:308px;
|
96
|
+
padding:1.2em 0;
|
97
|
+
}
|