appjam 0.1.8.pre13 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/appjam.rb +1 -1
- data/lib/appjam/generators/cli.rb +16 -18
- data/lib/appjam/generators/gist.rb +56 -37
- data/lib/appjam/generators/gist.yml +53 -3
- data/lib/appjam/generators/lib.rb +193 -0
- data/lib/appjam/generators/{submodule → lib}/gitattributes.tt +0 -0
- data/lib/appjam/generators/{submodule → lib}/gitignore.tt +1 -1
- data/lib/appjam/generators/{submodule → lib}/gitmodules.tt +0 -0
- data/lib/appjam/generators/project.rb +2 -0
- data/lib/appjam/generators/search.rb +21 -8
- data/lib/appjam/version.rb +1 -1
- metadata +61 -81
- data/lib/appjam/generators/submodule.rb +0 -168
data/lib/appjam.rb
CHANGED
@@ -57,6 +57,6 @@ end # Appjam
|
|
57
57
|
##
|
58
58
|
# We add our generators to Appjam::Genererator
|
59
59
|
#
|
60
|
-
Appjam::Generators.load_paths << Dir[File.dirname(__FILE__) + '/appjam/generators/{project,model,
|
60
|
+
Appjam::Generators.load_paths << Dir[File.dirname(__FILE__) + '/appjam/generators/{project,model,lib,gist,search}.rb']
|
61
61
|
|
62
62
|
|
@@ -44,39 +44,37 @@ module Appjam
|
|
44
44
|
else
|
45
45
|
puts colorize("Usage: appjam [OPTIONS] [ARGS]")
|
46
46
|
puts
|
47
|
-
puts colorize("
|
47
|
+
puts colorize("Generator Options")
|
48
48
|
opt = [{ :category => "objective c (iphone)", :command => "appjam project todo", :description => "generate iphone project skeleton"},
|
49
49
|
{ :category => "objective c (iphone)", :command => "appjam model user", :description => "generate iphone project data model"}
|
50
50
|
]
|
51
51
|
View.render(opt, RENDER_OPTIONS)
|
52
|
-
puts
|
53
|
-
puts colorize("Submodule Options")
|
54
|
-
puts
|
55
|
-
opt = [
|
56
|
-
{ :category => "objective c (iphone)", :command => "appjam submodule three20", :description => "fetch three20 subproject from github.com"},
|
57
|
-
{ :category => "objective c (iphone)", :command => "appjam submodule asihttp", :description => "fetch asi-http-request subproject from github.com"},
|
58
|
-
{ :category => "objective c (iphone)", :command => "appjam submodule json", :description => "fetch json-framework subproject from github.com"},
|
59
|
-
{ :category => "objective c (iphone)", :command => "appjam submodule kissxml", :description => "fetch kissxml subproject from code.google.com"}]
|
60
|
-
View.render(opt, RENDER_OPTIONS)
|
61
52
|
puts
|
62
|
-
puts colorize("
|
53
|
+
puts colorize("Appjam Options")
|
63
54
|
require 'yaml'
|
64
|
-
|
65
|
-
|
66
|
-
rescue SocketError => e
|
67
|
-
end
|
55
|
+
gistfile = File.expand_path("~") + '/.appjam/gist.yml'
|
56
|
+
Gist::update_gist unless File.exist?(gistfile)
|
68
57
|
begin
|
69
|
-
g = YAML
|
58
|
+
g = YAML.load_file(gistfile)
|
70
59
|
rescue ArgumentError => e
|
71
60
|
g = YAML.load_file(File.expand_path(File.dirname(__FILE__) + '/gist.yml'))
|
72
61
|
end
|
73
62
|
g.each_pair {|key,value|
|
74
63
|
gitopt = []
|
64
|
+
gname = key.gsub('_',' ')
|
75
65
|
puts
|
76
|
-
|
66
|
+
if gname == 'lib'
|
67
|
+
puts colorize("Framework Lib")
|
68
|
+
else
|
69
|
+
puts colorize("Gist Category [#{gname}]")
|
70
|
+
end
|
77
71
|
g[key].each { |k|
|
78
72
|
k.each_pair { |k1,v1|
|
79
|
-
|
73
|
+
if gname == 'lib'
|
74
|
+
gitopt << {:category => "#{key.gsub('_',' ')}", :command => "appjam lib #{k1}", :description => "#{k[k1][2]['description']}" }
|
75
|
+
else
|
76
|
+
gitopt << {:category => "#{key.gsub('_',' ')}", :command => "appjam gist #{k1}", :description => "#{k[k1][2]['description']}" }
|
77
|
+
end
|
80
78
|
}
|
81
79
|
}
|
82
80
|
View.render(gitopt, RENDER_OPTIONS)
|
@@ -49,6 +49,21 @@ module Appjam
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
+
def update_gist
|
53
|
+
appjam_dir = '~/.appjam'
|
54
|
+
appjam_gist = File.expand_path("~") + '/.appjam/gist.yml'
|
55
|
+
system "mkdir -p #{appjam_dir}" unless File.exist?(appjam_dir)
|
56
|
+
begin
|
57
|
+
puts "fetching new gist list from server ... "
|
58
|
+
page_source = Net::HTTP.get(URI.parse("http://eiffelqiu.github.com/appjam/gist.yml"))
|
59
|
+
File.open(appjam_gist, 'w') {|f| f.write(page_source) }
|
60
|
+
rescue SocketError => e
|
61
|
+
puts "can not access github.com, back to local version gist.yml"
|
62
|
+
origin_gist = File.expand_path(File.dirname(__FILE__) + '/gist.yml')
|
63
|
+
system "cp #{origin_gist} #{appjam_gist}"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
52
67
|
def download_gists(username, page=1)
|
53
68
|
puts "-- Downloading page #{page} of gists --"
|
54
69
|
url = URI.parse("http://gist.github.com")
|
@@ -92,10 +107,6 @@ module Appjam
|
|
92
107
|
end
|
93
108
|
end
|
94
109
|
|
95
|
-
gist_name "singleton"
|
96
|
-
gist_id "https://gist.github.com/979981"
|
97
|
-
gist_description "Singletons in Objective C"
|
98
|
-
|
99
110
|
# Add this generator to our appjam
|
100
111
|
Appjam::Generators.add_generator(:gist, self)
|
101
112
|
|
@@ -128,39 +139,47 @@ module Appjam
|
|
128
139
|
@created_on = Date.today.to_s
|
129
140
|
self.destination_root = options[:root]
|
130
141
|
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
142
|
+
unless @gist_name == 'update'
|
143
|
+
require 'yaml'
|
144
|
+
# begin
|
145
|
+
# page_source = Net::HTTP.get(URI.parse("http://eiffelqiu.github.com/appjam/gist.yml"))
|
146
|
+
# rescue SocketError => e
|
147
|
+
# puts "can not access github.com, back to local version gist.yml"
|
148
|
+
# end
|
149
|
+
gistfile = File.expand_path("~") + '/.appjam/gist.yml'
|
150
|
+
Gist::update_gist unless File.exist?(gistfile)
|
151
|
+
begin
|
152
|
+
puts "fetching new gists ..."
|
153
|
+
g = YAML.load_file(gistfile)
|
154
|
+
rescue ArgumentError => e
|
155
|
+
puts "can't fetch new gists, loading local gists ..."
|
156
|
+
g = YAML.load_file(File.expand_path(File.dirname(__FILE__) + '/gist.yml'))
|
157
|
+
end
|
158
|
+
g.each_pair {|key,value|
|
159
|
+
gcategory = key.downcase
|
160
|
+
unless gcategory == 'lib'
|
161
|
+
g[key].each { |k|
|
162
|
+
k.each_pair { |k1,v1|
|
163
|
+
if "#{k1}" == @gist_name
|
164
|
+
gid = k[k1][0]['id']
|
165
|
+
gname = k[k1][1]['name']
|
166
|
+
Gist::download_gist("#{gid}",gcategory,gname)
|
167
|
+
eval(File.read(__FILE__) =~ /^__END__/ && $' || '')
|
168
|
+
say "================================================================="
|
169
|
+
say "Your '#{gname.capitalize}' snippet code has been generated."
|
170
|
+
say "Check Gist/#{gcategory}/#{gname}/ for snippet"
|
171
|
+
say "Open #{@xcode_project_name.capitalize}.xcodeproj"
|
172
|
+
say "Add 'Gist/#{gcategory}/#{gname}/' folder to the 'Classes/apps' Group"
|
173
|
+
say "Build and Run"
|
174
|
+
say "================================================================="
|
175
|
+
end
|
176
|
+
}
|
177
|
+
}
|
178
|
+
end
|
162
179
|
}
|
163
|
-
|
180
|
+
else
|
181
|
+
Gist::update_gist
|
182
|
+
end
|
164
183
|
else
|
165
184
|
puts
|
166
185
|
puts '-'*70
|
@@ -168,7 +187,7 @@ module Appjam
|
|
168
187
|
puts '-'*70
|
169
188
|
puts
|
170
189
|
end
|
171
|
-
end
|
190
|
+
end # create_gist
|
172
191
|
|
173
192
|
end # Gist
|
174
193
|
end # Generators
|
@@ -11,13 +11,63 @@ design_pattern:
|
|
11
11
|
- injection:
|
12
12
|
- id : 986087
|
13
13
|
- name : Injection
|
14
|
-
- description : Ruby's injection method for Objective C
|
14
|
+
- description : Ruby's injection method for Objective C
|
15
15
|
|
16
16
|
algorithm:
|
17
17
|
- binary_search:
|
18
18
|
- id : 988219
|
19
19
|
- name : Binary_Search
|
20
20
|
- description : A binary search algorithm written Objective C
|
21
|
+
|
22
|
+
lib:
|
23
|
+
- three20:
|
24
|
+
- id : git://github.com/facebook/three20.git
|
25
|
+
- name : Three20
|
26
|
+
- description : three20 frameworks
|
27
|
+
- asi:
|
28
|
+
- id : git://github.com/pokeb/asi-http-request.git
|
29
|
+
- name : AsiHttpRequest
|
30
|
+
- description : asi http request frameworks
|
31
|
+
- json:
|
32
|
+
- id : git://github.com/stig/json-framework
|
33
|
+
- name : JsonFramework
|
34
|
+
- description : json framework
|
35
|
+
- facebook:
|
36
|
+
- id : git://github.com/facebook/facebook-ios-sdk.git
|
37
|
+
- name : FacebookIOSSdk
|
38
|
+
- description : facebook-ios-sdk framework
|
39
|
+
- yajl:
|
40
|
+
- id : git://github.com/gabriel/yajl-objc.git
|
41
|
+
- name : YAJLFramework
|
42
|
+
- description : YAJL Framework
|
43
|
+
- oauth:
|
44
|
+
- id : git://github.com/jdg/oauthconsumer.git
|
45
|
+
- name : OauthConsumer
|
46
|
+
- description : oauth consumer
|
47
|
+
- fmdb:
|
48
|
+
- id : git://github.com/ccgus/fmdb.git
|
49
|
+
- name : fmdb
|
50
|
+
- description : A Cocoa / Objective-C wrapper around
|
51
|
+
- touchxml:
|
52
|
+
- id : git://github.com/TouchCode/TouchXML.git
|
53
|
+
- name : TouchXML
|
54
|
+
- description : TouchXML Framework
|
55
|
+
- touchjson:
|
56
|
+
- id : git://github.com/TouchCode/TouchJSON.git
|
57
|
+
- name : TouchJSON
|
58
|
+
- description : TouchJSON Framework
|
59
|
+
- kissxml:
|
60
|
+
- id : https://kissxml.googlecode.com/hg/
|
61
|
+
- name : KissXML
|
62
|
+
- description : KissXML Framework
|
63
|
+
- cocos2d:
|
64
|
+
- id : git://github.com/cocos2d/cocos2d-iphone.git
|
65
|
+
- name : Cocos2dIphone
|
66
|
+
- description : Cocos2d iPhone Framework
|
67
|
+
- sparrow:
|
68
|
+
- id : git://github.com/PrimaryFeather/Sparrow-Framework.git
|
69
|
+
- name : SparrowFramework
|
70
|
+
- description : Sparrow Framework for iPhone
|
21
71
|
|
22
72
|
utiliy_function:
|
23
73
|
- get_ip_address:
|
@@ -74,9 +124,9 @@ snippet:
|
|
74
124
|
- id : 990090
|
75
125
|
- name : Get_Random_Number_In_A_Range
|
76
126
|
- description : Get random number in Objective C
|
77
|
-
-
|
127
|
+
- mail_usage:
|
78
128
|
- id : 990122
|
79
|
-
- name :
|
129
|
+
- name : mail_usage
|
80
130
|
- description : MFMailComposeViewController with availability check
|
81
131
|
- nsstring_md5:
|
82
132
|
- id : 990141
|
@@ -0,0 +1,193 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'fileutils'
|
3
|
+
require 'net/http'
|
4
|
+
require 'net/https'
|
5
|
+
require 'uri'
|
6
|
+
require "open-uri"
|
7
|
+
require 'tempfile'
|
8
|
+
require File.dirname(__FILE__) + '/jam'
|
9
|
+
require File.dirname(__FILE__) + '/gist'
|
10
|
+
|
11
|
+
module Appjam
|
12
|
+
module Generators
|
13
|
+
class Lib < Jam
|
14
|
+
|
15
|
+
class << self
|
16
|
+
def self.attr_rw(*attrs)
|
17
|
+
attrs.each do |attr|
|
18
|
+
class_eval %Q{
|
19
|
+
def #{attr}(val=nil)
|
20
|
+
val.nil? ? @#{attr} : @#{attr} = val
|
21
|
+
end
|
22
|
+
}
|
23
|
+
end
|
24
|
+
end
|
25
|
+
attr_rw :gist_name, :gist_description, :gist_id, :gist_body
|
26
|
+
def preview_gist(gid)
|
27
|
+
uri = URI("https://gist.github.com/#{gid}.txt")
|
28
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
29
|
+
if uri.scheme == 'https'
|
30
|
+
http.use_ssl = true
|
31
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
32
|
+
end
|
33
|
+
|
34
|
+
result = http.start {|h| h.request(Net::HTTP::Get.new(uri.path))}
|
35
|
+
tempfile = Tempfile.new('gist')
|
36
|
+
tempfile.puts(result)
|
37
|
+
tempfile.close
|
38
|
+
|
39
|
+
if system('which qlmanage')
|
40
|
+
system("qlmanage -p #{tempfile.path} >& /dev/null")
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def download_gists(username, page=1)
|
45
|
+
puts "-- Downloading page #{page} of gists --"
|
46
|
+
url = URI.parse("http://gist.github.com")
|
47
|
+
res = Net::HTTP.start(url.host, url.port) do |http|
|
48
|
+
response = http.get("/#{username}?page=#{page}")
|
49
|
+
if response.code == '200'
|
50
|
+
links = get_links(response.body)
|
51
|
+
links.each do |link, gist_id|
|
52
|
+
puts "git://gist.github.com/#{gist_id}.git"
|
53
|
+
if File.directory?("Gist/#{gist_id}")
|
54
|
+
`cd Gist/#{gist_id} && git pull ; cd ..`
|
55
|
+
else
|
56
|
+
`git clone git://gist.github.com/#{gist_id}.git Gist/#{gist_id}`
|
57
|
+
end
|
58
|
+
end
|
59
|
+
download_gists(username, page+1) unless links.empty?
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def download_gist(gist_id,git_category,gist_name)
|
65
|
+
puts "-- fetching [#{gist_name}] lib --"
|
66
|
+
# require 'uri'
|
67
|
+
# require 'yajl/http_stream'
|
68
|
+
#
|
69
|
+
# uri = URI.parse("http://gist.github.com/api/v1/json/#{gist_id}")
|
70
|
+
# Yajl::HttpStream.get(uri, :symbolize_keys => true) do |hash|
|
71
|
+
#
|
72
|
+
# end
|
73
|
+
# if @submodule_name == 'kissxml'
|
74
|
+
# eval(File.read(__FILE__) =~ /^__END__\n/ && $' || '')
|
75
|
+
#
|
76
|
+
# system "rm -rf kissxml"
|
77
|
+
# system "hg clone https://kissxml.googlecode.com/hg/ Frameworks/kissxml"
|
78
|
+
# system "git add ."
|
79
|
+
# system "git commit -m 'import kissxml submodule'"
|
80
|
+
# say (<<-TEXT).gsub(/ {10}/,'')
|
81
|
+
if gist_id.include?('github.com')
|
82
|
+
if File.directory?("Frameworks/#{gist_name.downcase}")
|
83
|
+
`rm -rf Frameworks/#{gist_name.downcase}`
|
84
|
+
end
|
85
|
+
if("#{gist_id}".is_numeric?)
|
86
|
+
`git clone git://gist.github.com/#{gist_id}.git Frameworks/#{gist_name.downcase} && rm -rf Frameworks/#{gist_name.downcase}/.git`
|
87
|
+
else
|
88
|
+
`git clone #{gist_id} Frameworks/#{gist_name.downcase} && rm -rf Frameworks/#{gist_name.downcase}/.git`
|
89
|
+
end
|
90
|
+
else
|
91
|
+
if system('which hg') != nil
|
92
|
+
system "rm -rf Frameworks/#{gist_name.downcase}"
|
93
|
+
system "hg clone https://kissxml.googlecode.com/hg/ Frameworks/#{gist_name.downcase}"
|
94
|
+
system "git add ."
|
95
|
+
system "git commit -m 'import #{gist_name.downcase} submodule'"
|
96
|
+
else
|
97
|
+
say "="*70
|
98
|
+
say "Mercurial was not installed!! check http://mercurial.selenic.com/ for installation."
|
99
|
+
say "="*70
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
# Add this generator to our appjam
|
106
|
+
Appjam::Generators.add_generator(:lib, self)
|
107
|
+
|
108
|
+
# Define the source lib root
|
109
|
+
def self.source_root; File.expand_path(File.dirname(__FILE__)); end
|
110
|
+
def self.banner; "appjam lib [name]"; end
|
111
|
+
|
112
|
+
# Include related modules
|
113
|
+
include Thor::Actions
|
114
|
+
include Appjam::Generators::Actions
|
115
|
+
|
116
|
+
desc "Description:\n\n\tappjam will generates an new PureMvc Model for iphone"
|
117
|
+
|
118
|
+
argument :name, :desc => "The name of your lib"
|
119
|
+
|
120
|
+
class_option :root, :desc => "The root destination", :aliases => '-r', :default => ".", :type => :string
|
121
|
+
class_option :destroy, :aliases => '-d', :default => false, :type => :boolean
|
122
|
+
|
123
|
+
def in_app_root?
|
124
|
+
File.exist?('Classes')
|
125
|
+
end
|
126
|
+
|
127
|
+
def create_lib
|
128
|
+
if in_app_root?
|
129
|
+
valid_constant?(options[:lib] || name)
|
130
|
+
@lib_name = (options[:app] || name).gsub(/W/, "_").downcase
|
131
|
+
@xcode_project_name = File.basename(Dir.glob('*.xcodeproj')[0],'.xcodeproj').downcase
|
132
|
+
@class_name = (options[:app] || name).gsub(/W/, "_").capitalize
|
133
|
+
@developer = "eiffel"
|
134
|
+
@created_on = Date.today.to_s
|
135
|
+
self.destination_root = options[:root]
|
136
|
+
|
137
|
+
require 'yaml'
|
138
|
+
# begin
|
139
|
+
# page_source = Net::HTTP.get(URI.parse("http://eiffelqiu.github.com/appjam/gist.yml"))
|
140
|
+
# rescue SocketError => e
|
141
|
+
# end
|
142
|
+
gistfile = File.expand_path("~") + '/.appjam/gist.yml'
|
143
|
+
Gist::update_gist unless File.exist?(gistfile)
|
144
|
+
begin
|
145
|
+
g = YAML.load_file(gistfile)
|
146
|
+
rescue ArgumentError => e
|
147
|
+
g = YAML.load_file(File.expand_path(File.dirname(__FILE__) + '/gist.yml'))
|
148
|
+
end
|
149
|
+
g.each_pair {|key,value|
|
150
|
+
gcategory = key.downcase
|
151
|
+
if gcategory == 'lib'
|
152
|
+
g[key].each { |k|
|
153
|
+
k.each_pair { |k1,v1|
|
154
|
+
if "#{k1}" == @lib_name
|
155
|
+
gid = k[k1][0]['id']
|
156
|
+
gname = k[k1][1]['name']
|
157
|
+
eval(File.read(__FILE__) =~ /^__END__\n/ && $' || '')
|
158
|
+
Lib::download_gist("#{gid}",gcategory,gname)
|
159
|
+
eval(File.read(__FILE__) =~ /^__END__/ && $' || '')
|
160
|
+
say "================================================================="
|
161
|
+
say "Check Frameworks/#{gcategory}/#{gname}/ for lib"
|
162
|
+
say "Open #{@xcode_project_name.capitalize}.xcodeproj"
|
163
|
+
say "Add 'Frameworks/#{gcategory}/#{gname}/' folder to the 'Classes' Group"
|
164
|
+
say "Build and Run"
|
165
|
+
say "================================================================="
|
166
|
+
end
|
167
|
+
}
|
168
|
+
}
|
169
|
+
end
|
170
|
+
}
|
171
|
+
else
|
172
|
+
puts
|
173
|
+
puts '-'*70
|
174
|
+
puts "You are not in an iphone project folder"
|
175
|
+
puts '-'*70
|
176
|
+
puts
|
177
|
+
end
|
178
|
+
end
|
179
|
+
|
180
|
+
end # Submodule
|
181
|
+
end # Generators
|
182
|
+
end # Appjam
|
183
|
+
|
184
|
+
__END__
|
185
|
+
unless File.exist?("./.git")
|
186
|
+
system "git init"
|
187
|
+
template "lib/gitignore.tt", "./.gitignore"
|
188
|
+
template "lib/gitattributes.tt", "./.gitattributes"
|
189
|
+
system "git add ."
|
190
|
+
system "git commit -m 'init commit'"
|
191
|
+
end
|
192
|
+
|
193
|
+
|
File without changes
|
File without changes
|
@@ -72,6 +72,8 @@ empty_directory "#{@project_name}/Classes/utils"
|
|
72
72
|
|
73
73
|
empty_directory "#{@project_name}/Gist"
|
74
74
|
|
75
|
+
empty_directory "#{@project_name}/Frameworks"
|
76
|
+
|
75
77
|
copy_file "project/utils/NSStringWhiteSpace.h", "#{@project_name}/Classes/utils/NSStringWhiteSpace.h"
|
76
78
|
copy_file "project/utils/NSStringWhiteSpace.m", "#{@project_name}/Classes/utils/NSStringWhiteSpace.m"
|
77
79
|
copy_file "project/utils/UIDevice.h", "#{@project_name}/Classes/utils/UIDevice.h"
|
@@ -46,24 +46,37 @@ module Appjam
|
|
46
46
|
puts colorize("Available Options contains [#{@gist_name}]")
|
47
47
|
puts
|
48
48
|
require 'yaml'
|
49
|
-
begin
|
50
|
-
|
51
|
-
rescue SocketError => e
|
52
|
-
end
|
49
|
+
# begin
|
50
|
+
# page_source = Net::HTTP.get(URI.parse("http://eiffelqiu.github.com/appjam/gist.yml"))
|
51
|
+
# rescue SocketError => e
|
52
|
+
# end
|
53
|
+
# begin
|
54
|
+
# g = YAML::load(page_source)
|
55
|
+
# rescue ArgumentError => e
|
56
|
+
# g = YAML.load_file(File.expand_path(File.dirname(__FILE__) + '/gist.yml'))
|
57
|
+
# end
|
58
|
+
gistfile = File.expand_path("~") + '/.appjam/gist.yml'
|
59
|
+
Gist::update_gist unless File.exist?(gistfile)
|
53
60
|
begin
|
54
|
-
g = YAML
|
61
|
+
g = YAML.load_file(gistfile)
|
55
62
|
rescue ArgumentError => e
|
56
63
|
g = YAML.load_file(File.expand_path(File.dirname(__FILE__) + '/gist.yml'))
|
57
|
-
end
|
64
|
+
end
|
58
65
|
gitopt = []
|
59
66
|
g.each_pair {|key,value|
|
60
|
-
# puts colorize("Gist Category [#{key.gsub('_',' ')}]")
|
67
|
+
# puts colorize("Gist Category [#{key.gsub('_',' ')}]")
|
68
|
+
gname = key.gsub('_',' ')
|
61
69
|
g[key].each { |k|
|
62
70
|
k.each_pair { |k1,v1|
|
63
71
|
gist_name = k1.downcase
|
64
72
|
gist_desc = k[k1][2]['description'].downcase
|
65
73
|
if gist_name.include?(@gist_name) or gist_desc.include?(@gist_name)
|
66
|
-
gitopt << {:category => "#{key.gsub('_',' ')}", :command => "appjam gist #{k1}", :description => "#{k[k1][2]['description']}" }
|
74
|
+
# gitopt << {:category => "#{key.gsub('_',' ')}", :command => "appjam gist #{k1}", :description => "#{k[k1][2]['description']}" }
|
75
|
+
if gname == 'lib'
|
76
|
+
gitopt << {:category => "#{key.gsub('_',' ')}", :command => "appjam lib #{k1}", :description => "#{k[k1][2]['description']}" }
|
77
|
+
else
|
78
|
+
gitopt << {:category => "#{key.gsub('_',' ')}", :command => "appjam gist #{k1}", :description => "#{k[k1][2]['description']}" }
|
79
|
+
end
|
67
80
|
end
|
68
81
|
}
|
69
82
|
}
|
data/lib/appjam/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appjam
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 11
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
9
|
- 8
|
10
|
-
|
11
|
-
- 13
|
12
|
-
version: 0.1.8.pre13
|
10
|
+
version: 0.1.8
|
13
11
|
platform: ruby
|
14
12
|
authors:
|
15
13
|
- Eiffel Q
|
@@ -17,8 +15,7 @@ autorequire:
|
|
17
15
|
bindir: bin
|
18
16
|
cert_chain: []
|
19
17
|
|
20
|
-
date: 2011-05-
|
21
|
-
default_executable: appjam
|
18
|
+
date: 2011-05-29 00:00:00 Z
|
22
19
|
dependencies:
|
23
20
|
- !ruby/object:Gem::Dependency
|
24
21
|
type: :runtime
|
@@ -31,8 +28,8 @@ dependencies:
|
|
31
28
|
segments:
|
32
29
|
- 0
|
33
30
|
version: "0"
|
34
|
-
name: thor
|
35
31
|
version_requirements: *id001
|
32
|
+
name: thor
|
36
33
|
prerelease: false
|
37
34
|
- !ruby/object:Gem::Dependency
|
38
35
|
type: :runtime
|
@@ -45,8 +42,8 @@ dependencies:
|
|
45
42
|
segments:
|
46
43
|
- 0
|
47
44
|
version: "0"
|
48
|
-
name: activesupport
|
49
45
|
version_requirements: *id002
|
46
|
+
name: activesupport
|
50
47
|
prerelease: false
|
51
48
|
- !ruby/object:Gem::Dependency
|
52
49
|
type: :runtime
|
@@ -59,8 +56,8 @@ dependencies:
|
|
59
56
|
segments:
|
60
57
|
- 0
|
61
58
|
version: "0"
|
62
|
-
name: cli-colorize
|
63
59
|
version_requirements: *id003
|
60
|
+
name: cli-colorize
|
64
61
|
prerelease: false
|
65
62
|
- !ruby/object:Gem::Dependency
|
66
63
|
type: :runtime
|
@@ -73,26 +70,12 @@ dependencies:
|
|
73
70
|
segments:
|
74
71
|
- 0
|
75
72
|
version: "0"
|
76
|
-
name: hirb
|
77
73
|
version_requirements: *id004
|
78
|
-
|
79
|
-
- !ruby/object:Gem::Dependency
|
80
|
-
type: :runtime
|
81
|
-
requirement: &id005 !ruby/object:Gem::Requirement
|
82
|
-
none: false
|
83
|
-
requirements:
|
84
|
-
- - ">="
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
hash: 3
|
87
|
-
segments:
|
88
|
-
- 0
|
89
|
-
version: "0"
|
90
|
-
name: yajl-ruby
|
91
|
-
version_requirements: *id005
|
74
|
+
name: hirb
|
92
75
|
prerelease: false
|
93
76
|
- !ruby/object:Gem::Dependency
|
94
77
|
type: :development
|
95
|
-
requirement: &
|
78
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
96
79
|
none: false
|
97
80
|
requirements:
|
98
81
|
- - ">="
|
@@ -103,12 +86,12 @@ dependencies:
|
|
103
86
|
- 8
|
104
87
|
- 7
|
105
88
|
version: 0.8.7
|
89
|
+
version_requirements: *id005
|
106
90
|
name: rake
|
107
|
-
version_requirements: *id006
|
108
91
|
prerelease: false
|
109
92
|
- !ruby/object:Gem::Dependency
|
110
93
|
type: :development
|
111
|
-
requirement: &
|
94
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
112
95
|
none: false
|
113
96
|
requirements:
|
114
97
|
- - ">="
|
@@ -119,12 +102,12 @@ dependencies:
|
|
119
102
|
- 9
|
120
103
|
- 8
|
121
104
|
version: 0.9.8
|
105
|
+
version_requirements: *id006
|
122
106
|
name: mocha
|
123
|
-
version_requirements: *id007
|
124
107
|
prerelease: false
|
125
108
|
- !ruby/object:Gem::Dependency
|
126
109
|
type: :development
|
127
|
-
requirement: &
|
110
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
128
111
|
none: false
|
129
112
|
requirements:
|
130
113
|
- - ">="
|
@@ -135,12 +118,12 @@ dependencies:
|
|
135
118
|
- 5
|
136
119
|
- 0
|
137
120
|
version: 0.5.0
|
121
|
+
version_requirements: *id007
|
138
122
|
name: rack-test
|
139
|
-
version_requirements: *id008
|
140
123
|
prerelease: false
|
141
124
|
- !ruby/object:Gem::Dependency
|
142
125
|
type: :development
|
143
|
-
requirement: &
|
126
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
144
127
|
none: false
|
145
128
|
requirements:
|
146
129
|
- - ">="
|
@@ -151,12 +134,12 @@ dependencies:
|
|
151
134
|
- 2
|
152
135
|
- 8
|
153
136
|
version: 1.2.8
|
137
|
+
version_requirements: *id008
|
154
138
|
name: fakeweb
|
155
|
-
version_requirements: *id009
|
156
139
|
prerelease: false
|
157
140
|
- !ruby/object:Gem::Dependency
|
158
141
|
type: :development
|
159
|
-
requirement: &
|
142
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
160
143
|
none: false
|
161
144
|
requirements:
|
162
145
|
- - "="
|
@@ -167,12 +150,12 @@ dependencies:
|
|
167
150
|
- 5
|
168
151
|
- 1
|
169
152
|
version: 0.5.1
|
153
|
+
version_requirements: *id009
|
170
154
|
name: webrat
|
171
|
-
version_requirements: *id010
|
172
155
|
prerelease: false
|
173
156
|
- !ruby/object:Gem::Dependency
|
174
157
|
type: :development
|
175
|
-
requirement: &
|
158
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
176
159
|
none: false
|
177
160
|
requirements:
|
178
161
|
- - ">="
|
@@ -183,12 +166,12 @@ dependencies:
|
|
183
166
|
- 10
|
184
167
|
- 3
|
185
168
|
version: 2.10.3
|
169
|
+
version_requirements: *id010
|
186
170
|
name: shoulda
|
187
|
-
version_requirements: *id011
|
188
171
|
prerelease: false
|
189
172
|
- !ruby/object:Gem::Dependency
|
190
173
|
type: :development
|
191
|
-
requirement: &
|
174
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
192
175
|
none: false
|
193
176
|
requirements:
|
194
177
|
- - ">="
|
@@ -199,12 +182,12 @@ dependencies:
|
|
199
182
|
- 3
|
200
183
|
- 1
|
201
184
|
version: 2.3.1
|
185
|
+
version_requirements: *id011
|
202
186
|
name: uuid
|
203
|
-
version_requirements: *id012
|
204
187
|
prerelease: false
|
205
188
|
- !ruby/object:Gem::Dependency
|
206
189
|
type: :development
|
207
|
-
requirement: &
|
190
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
208
191
|
none: false
|
209
192
|
requirements:
|
210
193
|
- - ">="
|
@@ -215,12 +198,12 @@ dependencies:
|
|
215
198
|
- 1
|
216
199
|
- 2
|
217
200
|
version: 2.1.2
|
201
|
+
version_requirements: *id012
|
218
202
|
name: builder
|
219
|
-
version_requirements: *id013
|
220
203
|
prerelease: false
|
221
204
|
- !ruby/object:Gem::Dependency
|
222
205
|
type: :development
|
223
|
-
requirement: &
|
206
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
224
207
|
none: false
|
225
208
|
requirements:
|
226
209
|
- - ~>
|
@@ -231,12 +214,12 @@ dependencies:
|
|
231
214
|
- 5
|
232
215
|
- 2
|
233
216
|
version: 1.5.2
|
217
|
+
version_requirements: *id013
|
234
218
|
name: jeweler
|
235
|
-
version_requirements: *id014
|
236
219
|
prerelease: false
|
237
220
|
- !ruby/object:Gem::Dependency
|
238
221
|
type: :development
|
239
|
-
requirement: &
|
222
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
240
223
|
none: false
|
241
224
|
requirements:
|
242
225
|
- - ~>
|
@@ -247,8 +230,22 @@ dependencies:
|
|
247
230
|
- 9
|
248
231
|
- 8
|
249
232
|
version: 0.9.8
|
233
|
+
version_requirements: *id014
|
250
234
|
name: rcov
|
235
|
+
prerelease: false
|
236
|
+
- !ruby/object:Gem::Dependency
|
237
|
+
type: :development
|
238
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
239
|
+
none: false
|
240
|
+
requirements:
|
241
|
+
- - ">="
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
hash: 3
|
244
|
+
segments:
|
245
|
+
- 0
|
246
|
+
version: "0"
|
251
247
|
version_requirements: *id015
|
248
|
+
name: grit
|
252
249
|
prerelease: false
|
253
250
|
- !ruby/object:Gem::Dependency
|
254
251
|
type: :development
|
@@ -261,8 +258,8 @@ dependencies:
|
|
261
258
|
segments:
|
262
259
|
- 0
|
263
260
|
version: "0"
|
264
|
-
name: grit
|
265
261
|
version_requirements: *id016
|
262
|
+
name: i18n
|
266
263
|
prerelease: false
|
267
264
|
- !ruby/object:Gem::Dependency
|
268
265
|
type: :development
|
@@ -275,8 +272,8 @@ dependencies:
|
|
275
272
|
segments:
|
276
273
|
- 0
|
277
274
|
version: "0"
|
278
|
-
name: i18n
|
279
275
|
version_requirements: *id017
|
276
|
+
name: rdoc
|
280
277
|
prerelease: false
|
281
278
|
- !ruby/object:Gem::Dependency
|
282
279
|
type: :development
|
@@ -289,8 +286,8 @@ dependencies:
|
|
289
286
|
segments:
|
290
287
|
- 0
|
291
288
|
version: "0"
|
292
|
-
name: rdoc
|
293
289
|
version_requirements: *id018
|
290
|
+
name: yajl-ruby
|
294
291
|
prerelease: false
|
295
292
|
- !ruby/object:Gem::Dependency
|
296
293
|
type: :development
|
@@ -305,8 +302,8 @@ dependencies:
|
|
305
302
|
- 9
|
306
303
|
- 1
|
307
304
|
version: 0.9.1
|
308
|
-
name: ruby-prof
|
309
305
|
version_requirements: *id019
|
306
|
+
name: ruby-prof
|
310
307
|
prerelease: false
|
311
308
|
- !ruby/object:Gem::Dependency
|
312
309
|
type: :development
|
@@ -320,8 +317,8 @@ dependencies:
|
|
320
317
|
- 1
|
321
318
|
- 0
|
322
319
|
version: "1.0"
|
323
|
-
name: system_timer
|
324
320
|
version_requirements: *id020
|
321
|
+
name: system_timer
|
325
322
|
prerelease: false
|
326
323
|
- !ruby/object:Gem::Dependency
|
327
324
|
type: :runtime
|
@@ -334,8 +331,8 @@ dependencies:
|
|
334
331
|
segments:
|
335
332
|
- 0
|
336
333
|
version: "0"
|
337
|
-
name: activesupport
|
338
334
|
version_requirements: *id021
|
335
|
+
name: activesupport
|
339
336
|
prerelease: false
|
340
337
|
- !ruby/object:Gem::Dependency
|
341
338
|
type: :runtime
|
@@ -348,8 +345,8 @@ dependencies:
|
|
348
345
|
segments:
|
349
346
|
- 0
|
350
347
|
version: "0"
|
351
|
-
name: grit
|
352
348
|
version_requirements: *id022
|
349
|
+
name: grit
|
353
350
|
prerelease: false
|
354
351
|
- !ruby/object:Gem::Dependency
|
355
352
|
type: :runtime
|
@@ -362,8 +359,8 @@ dependencies:
|
|
362
359
|
segments:
|
363
360
|
- 0
|
364
361
|
version: "0"
|
365
|
-
name: i18n
|
366
362
|
version_requirements: *id023
|
363
|
+
name: i18n
|
367
364
|
prerelease: false
|
368
365
|
- !ruby/object:Gem::Dependency
|
369
366
|
type: :runtime
|
@@ -376,8 +373,8 @@ dependencies:
|
|
376
373
|
segments:
|
377
374
|
- 0
|
378
375
|
version: "0"
|
379
|
-
name: hirb
|
380
376
|
version_requirements: *id024
|
377
|
+
name: hirb
|
381
378
|
prerelease: false
|
382
379
|
- !ruby/object:Gem::Dependency
|
383
380
|
type: :runtime
|
@@ -390,8 +387,8 @@ dependencies:
|
|
390
387
|
segments:
|
391
388
|
- 0
|
392
389
|
version: "0"
|
393
|
-
name: cli-colorize
|
394
390
|
version_requirements: *id025
|
391
|
+
name: cli-colorize
|
395
392
|
prerelease: false
|
396
393
|
- !ruby/object:Gem::Dependency
|
397
394
|
type: :runtime
|
@@ -404,22 +401,8 @@ dependencies:
|
|
404
401
|
segments:
|
405
402
|
- 0
|
406
403
|
version: "0"
|
407
|
-
name: rdoc
|
408
404
|
version_requirements: *id026
|
409
|
-
|
410
|
-
- !ruby/object:Gem::Dependency
|
411
|
-
type: :runtime
|
412
|
-
requirement: &id027 !ruby/object:Gem::Requirement
|
413
|
-
none: false
|
414
|
-
requirements:
|
415
|
-
- - ">="
|
416
|
-
- !ruby/object:Gem::Version
|
417
|
-
hash: 3
|
418
|
-
segments:
|
419
|
-
- 0
|
420
|
-
version: "0"
|
421
|
-
name: yajl-ruby
|
422
|
-
version_requirements: *id027
|
405
|
+
name: rdoc
|
423
406
|
prerelease: false
|
424
407
|
description: generate iphone app skeleton based on pure mvc framework
|
425
408
|
email: eiffelqiu@gmail.com
|
@@ -438,6 +421,10 @@ files:
|
|
438
421
|
- lib/appjam/generators/gist.rb
|
439
422
|
- lib/appjam/generators/gist.yml
|
440
423
|
- lib/appjam/generators/jam.rb
|
424
|
+
- lib/appjam/generators/lib.rb
|
425
|
+
- lib/appjam/generators/lib/gitattributes.tt
|
426
|
+
- lib/appjam/generators/lib/gitignore.tt
|
427
|
+
- lib/appjam/generators/lib/gitmodules.tt
|
441
428
|
- lib/appjam/generators/model.rb
|
442
429
|
- lib/appjam/generators/project.rb
|
443
430
|
- lib/appjam/generators/project/Classes/ContactsAppDelegate.h.tt
|
@@ -515,10 +502,6 @@ files:
|
|
515
502
|
- lib/appjam/generators/project/utils/URLEncodeString.h
|
516
503
|
- lib/appjam/generators/project/utils/URLEncodeString.m
|
517
504
|
- lib/appjam/generators/search.rb
|
518
|
-
- lib/appjam/generators/submodule.rb
|
519
|
-
- lib/appjam/generators/submodule/gitattributes.tt
|
520
|
-
- lib/appjam/generators/submodule/gitignore.tt
|
521
|
-
- lib/appjam/generators/submodule/gitmodules.tt
|
522
505
|
- lib/appjam/tasks.rb
|
523
506
|
- lib/appjam/tasks/plugin.rb
|
524
507
|
- lib/appjam/version.rb
|
@@ -529,7 +512,6 @@ files:
|
|
529
512
|
- test/test_model_generator.rb
|
530
513
|
- test/test_project_generator.rb
|
531
514
|
- bin/appjam
|
532
|
-
has_rdoc: true
|
533
515
|
homepage: http://github.com/eiffelqiu/appjam
|
534
516
|
licenses:
|
535
517
|
- MIT
|
@@ -550,18 +532,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
550
532
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
551
533
|
none: false
|
552
534
|
requirements:
|
553
|
-
- - "
|
535
|
+
- - ">="
|
554
536
|
- !ruby/object:Gem::Version
|
555
|
-
hash:
|
537
|
+
hash: 3
|
556
538
|
segments:
|
557
|
-
-
|
558
|
-
|
559
|
-
- 1
|
560
|
-
version: 1.3.1
|
539
|
+
- 0
|
540
|
+
version: "0"
|
561
541
|
requirements: []
|
562
542
|
|
563
543
|
rubyforge_project:
|
564
|
-
rubygems_version: 1.
|
544
|
+
rubygems_version: 1.7.2
|
565
545
|
signing_key:
|
566
546
|
specification_version: 3
|
567
547
|
summary: an iphone app generator
|
@@ -1,168 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/jam'
|
2
|
-
|
3
|
-
module Appjam
|
4
|
-
module Generators
|
5
|
-
class Submodule < Jam
|
6
|
-
|
7
|
-
# Add this generator to our appjam
|
8
|
-
Appjam::Generators.add_generator(:submodule, self)
|
9
|
-
|
10
|
-
# Define the source submodule root
|
11
|
-
def self.source_root; File.expand_path(File.dirname(__FILE__)); end
|
12
|
-
def self.banner; "appjam submodule [name]"; end
|
13
|
-
|
14
|
-
# Include related modules
|
15
|
-
include Thor::Actions
|
16
|
-
include Appjam::Generators::Actions
|
17
|
-
|
18
|
-
desc "Description:\n\n\tappjam will generates an new PureMvc Model for iphone"
|
19
|
-
|
20
|
-
argument :name, :desc => "The name of your puremvc submodule"
|
21
|
-
|
22
|
-
class_option :root, :desc => "The root destination", :aliases => '-r', :default => ".", :type => :string
|
23
|
-
class_option :destroy, :aliases => '-d', :default => false, :type => :boolean
|
24
|
-
|
25
|
-
def in_app_root?
|
26
|
-
File.exist?('Classes')
|
27
|
-
end
|
28
|
-
|
29
|
-
def create_submodule
|
30
|
-
valid_constant?(options[:submodule] || name)
|
31
|
-
@submodule_name = (options[:app] || name).gsub(/W/, "_").downcase
|
32
|
-
@xcode_project_name = File.basename(Dir.glob('*.xcodeproj')[0],'.xcodeproj').downcase
|
33
|
-
@class_name = (options[:app] || name).gsub(/W/, "_").capitalize
|
34
|
-
@developer = "eiffel"
|
35
|
-
@created_on = Date.today.to_s
|
36
|
-
self.destination_root = options[:root]
|
37
|
-
|
38
|
-
if which('hg') != nil
|
39
|
-
if in_app_root?
|
40
|
-
if @submodule_name == 'kissxml'
|
41
|
-
eval(File.read(__FILE__) =~ /^__END__\n/ && $' || '')
|
42
|
-
|
43
|
-
system "rm -rf kissxml"
|
44
|
-
system "hg clone https://kissxml.googlecode.com/hg/ kissxml"
|
45
|
-
system "git add ."
|
46
|
-
system "git commit -m 'import kissxml submodule'"
|
47
|
-
say (<<-TEXT).gsub(/ {10}/,'')
|
48
|
-
|
49
|
-
=================================================================
|
50
|
-
kissxml submodule has been imported
|
51
|
-
|
52
|
-
Open #{@xcode_project_name.capitalize}.xcodeproj
|
53
|
-
Add "kissxml" folder to the "Other Sources" Group
|
54
|
-
Build and Run
|
55
|
-
=================================================================
|
56
|
-
TEXT
|
57
|
-
else
|
58
|
-
unless %w(three20 sihttp json-framework kissxml).include?(@submodule_name)
|
59
|
-
say "="*70
|
60
|
-
say "Only support three20,asihttp,json-framework,kissxml submodule now!"
|
61
|
-
say "="*70
|
62
|
-
end
|
63
|
-
end
|
64
|
-
else
|
65
|
-
puts
|
66
|
-
puts '-'*70
|
67
|
-
puts "You are not in an iphone project folder"
|
68
|
-
puts '-'*70
|
69
|
-
puts
|
70
|
-
end
|
71
|
-
else
|
72
|
-
say "="*70
|
73
|
-
say "Mercurial was not installed!! check http://mercurial.selenic.com/ for installation."
|
74
|
-
say "="*70
|
75
|
-
end
|
76
|
-
|
77
|
-
if which('git') != nil
|
78
|
-
if in_app_root?
|
79
|
-
if @submodule_name == 'three20'
|
80
|
-
|
81
|
-
eval(File.read(__FILE__) =~ /^__END__\n/ && $' || '')
|
82
|
-
|
83
|
-
system "rm -rf three20"
|
84
|
-
system "git submodule add git://github.com/facebook/three20.git three20"
|
85
|
-
system "git add ."
|
86
|
-
system "git commit -m 'import three20 submodule'"
|
87
|
-
|
88
|
-
say (<<-TEXT).gsub(/ {10}/,'')
|
89
|
-
|
90
|
-
=================================================================
|
91
|
-
Three20 submodule has been imported
|
92
|
-
|
93
|
-
Open #{@xcode_project_name.capitalize}.xcodeproj
|
94
|
-
Add "three20/src/Three20/Three20.xcodeproj" folder to the "Other Sources" Group
|
95
|
-
Add "three20/src/Three20.bundle" folder to the "Other Sources" Group
|
96
|
-
Build and Run
|
97
|
-
=================================================================
|
98
|
-
TEXT
|
99
|
-
elsif @submodule_name == 'asihttp'
|
100
|
-
eval(File.read(__FILE__) =~ /^__END__\n/ && $' || '')
|
101
|
-
|
102
|
-
system "rm -rf asihttp"
|
103
|
-
system "git submodule add git://github.com/pokeb/asi-http-request.git asihttp"
|
104
|
-
system "git add ."
|
105
|
-
system "git commit -m 'import asihttp submodule'"
|
106
|
-
|
107
|
-
say (<<-TEXT).gsub(/ {10}/,'')
|
108
|
-
|
109
|
-
=================================================================
|
110
|
-
Asihttp submodule has been imported
|
111
|
-
|
112
|
-
Open #{@xcode_project_name.capitalize}.xcodeproj
|
113
|
-
Add "asihttp" folder to the "Other Sources" Group
|
114
|
-
Build and Run
|
115
|
-
=================================================================
|
116
|
-
TEXT
|
117
|
-
elsif @submodule_name == 'json'
|
118
|
-
eval(File.read(__FILE__) =~ /^__END__\n/ && $' || '')
|
119
|
-
|
120
|
-
system "rm -rf json-framework"
|
121
|
-
system "git submodule add git://github.com/stig/json-framework json-framework"
|
122
|
-
system "git add ."
|
123
|
-
system "git commit -m 'import json-framework submodule'"
|
124
|
-
say (<<-TEXT).gsub(/ {10}/,'')
|
125
|
-
|
126
|
-
=================================================================
|
127
|
-
json-framework submodule has been imported
|
128
|
-
|
129
|
-
Open #{@xcode_project_name.capitalize}.xcodeproj
|
130
|
-
Add "json-framework" folder to the "Other Sources" Group
|
131
|
-
Build and Run
|
132
|
-
=================================================================
|
133
|
-
TEXT
|
134
|
-
else
|
135
|
-
unless %w(three20 sihttp json-framework kissxml).include?(@submodule_name)
|
136
|
-
say "="*70
|
137
|
-
say "Only support three20,asihttp,json-framework,kissxml submodule now!"
|
138
|
-
say "="*70
|
139
|
-
end
|
140
|
-
end
|
141
|
-
else
|
142
|
-
puts
|
143
|
-
puts '-'*70
|
144
|
-
puts "You are not in an iphone project folder"
|
145
|
-
puts '-'*70
|
146
|
-
puts
|
147
|
-
end
|
148
|
-
else
|
149
|
-
say "="*70
|
150
|
-
say "Git was not installed!! check http://git-scm.com/ for installation."
|
151
|
-
say "="*70
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
|
-
end # Submodule
|
156
|
-
end # Generators
|
157
|
-
end # Appjam
|
158
|
-
|
159
|
-
__END__
|
160
|
-
unless File.exist?("./.git")
|
161
|
-
system "git init"
|
162
|
-
template "submodule/gitignore.tt", "./.gitignore"
|
163
|
-
template "submodule/gitattributes.tt", "./.gitattributes"
|
164
|
-
system "git add ."
|
165
|
-
system "git commit -m 'init commit'"
|
166
|
-
end
|
167
|
-
|
168
|
-
|