cova 0.1.8 → 0.1.9

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/bin/cova CHANGED
@@ -8,6 +8,7 @@ require 'xcodeproj'
8
8
  require 'cocoapods'
9
9
  require 'chunky_png'
10
10
 
11
+ require 'covaconfig'
11
12
  require 'covalog'
12
13
  require 'covaio'
13
14
  require 'covamain'
@@ -6,6 +6,7 @@ require 'xcodeproj'
6
6
  require 'cocoapods'
7
7
  require 'chunky_png'
8
8
 
9
+ require 'covaconfig'
9
10
  require 'covalog'
10
11
  require 'covaio'
11
12
  require 'covamain'
@@ -0,0 +1,29 @@
1
+ module CovaConfig
2
+
3
+ def _config_load(conf_file)
4
+ line_sub = Regexp.new(/\s+|"|\[|\]/)
5
+ temp = Array.new
6
+ vars=Hash.new
7
+
8
+ unless File.exists?(conf_file) then
9
+ return vars
10
+ end
11
+
12
+ IO.foreach(conf_file) do |line|
13
+ if line.match(/^#/)
14
+ next
15
+ elsif
16
+ line.match(/^$/)
17
+ next
18
+ else
19
+ temp[0],temp[1] = line.to_s.scan(/^.*$/).to_s.split('=')
20
+ temp.collect! do |val|
21
+ val.gsub(line_sub, "")
22
+ end
23
+ vars[temp[0]] = temp[1]
24
+ end
25
+ end
26
+
27
+ return vars
28
+ end
29
+ end
@@ -127,6 +127,14 @@ module CovaIO
127
127
  return false
128
128
  end
129
129
 
130
+ def _io_cpfile(src, targ)
131
+ if _io_isfile src and not _io_isfile targ, false
132
+ `cp #{src} #{targ}`
133
+ return _io_isfile targ
134
+ end
135
+ return false
136
+ end
137
+
130
138
  def _io_mkdir(dir)
131
139
  if File.directory?(dir)
132
140
  return true
@@ -1,5 +1,6 @@
1
1
  class Cova < Thor
2
2
 
3
+ include CovaConfig
3
4
  include CovaLog
4
5
  include CovaIO
5
6
 
@@ -202,11 +203,18 @@ class Cova < Thor
202
203
  return false
203
204
  end
204
205
 
205
- if _io_cpdir @dir_cova_home + "/cova/web", dir + "/web"
206
+ if not _io_cpfile @dir_cova_home + "/cova/config/app.config", dir + "/app.config"
207
+ _log_block_error
208
+ return false
209
+ end
210
+
211
+ if _io_cpdir @dir_cova_home + "/cova/web/app", dir + "/www"
212
+ config_content = File.read(dir + "/www/config.php")
213
+ config_content = config_content.gsub(/%cova_home%/, @dir_cova_home)
214
+ File.open(dir + "/www/config.php", 'w') { |file| file.puts config_content }
206
215
  end
207
216
 
208
217
  if _io_cpdir @dir_cova_home + "/cova/ios", dir + "/ios"
209
-
210
218
  Dir.chdir(@dir_cova_apps_home + "/" + name + "/ios")
211
219
 
212
220
  #project = Xcodeproj::Project.new "Cova.xcodeproj"
@@ -235,7 +243,6 @@ class Cova < Thor
235
243
  end
236
244
 
237
245
  _log_block_success
238
- _io_open_app_source name
239
246
  return true
240
247
  end
241
248
 
@@ -243,6 +250,51 @@ class Cova < Thor
243
250
  return false
244
251
  end
245
252
 
253
+ desc 'deploy NAME', 'Builds an app'
254
+ def deploy (name)
255
+ if not _cova_installed
256
+ _cova_prompt_install
257
+ return false
258
+ end
259
+
260
+ if not _io_app_exists name
261
+ _log_line "App #{name} does not exist"
262
+ _log_line_error
263
+ return false
264
+ end
265
+
266
+ Dir.chdir(@dir_cova_apps_home + "/" + name)
267
+ if not _io_isfile "app.config"
268
+ _log_line "App configuration file app.config does not exist."
269
+ _log_line_error
270
+ _log_info "Please add the app.config file."
271
+ return false
272
+ end
273
+
274
+ config = _config_load "app.config"
275
+ deploy_dir = config['local.www']
276
+ if not deploy_dir
277
+ _log_line "Expecting the local.www path to be configured."
278
+ _log_line_error
279
+ _log_info "Please set the local.www path in your app.config file."
280
+ return false
281
+ end
282
+
283
+ if _io_isdir "www" and _io_isdir deploy_dir
284
+ `rm -rf #{deploy_dir}/*`
285
+ `rm -rf #{deploy_dir}/.htaccess`
286
+ `cp -r www/* #{deploy_dir}`
287
+ `cp www/.htaccess #{deploy_dir}/.htaccess`
288
+ _log_line "Deploying the app to #{deploy_dir}"
289
+ _log_line_ok
290
+ return true
291
+ end
292
+
293
+ _log_line "Deploying the app to #{deploy_dir}"
294
+ _log_line_error
295
+ return false
296
+ end
297
+
246
298
  desc 'build [-d][-t] NAME', 'Builds an app (-d to build dependencies, -t to build and run tests)'
247
299
  option :dependencies, :type => :boolean, :aliases => :d
248
300
  option :tests, :type => :boolean, :aliases => :t
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cova
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 9
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 8
10
- version: 0.1.8
9
+ - 9
10
+ version: 0.1.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - Dan Calinescu
@@ -111,6 +111,7 @@ extra_rdoc_files: []
111
111
 
112
112
  files:
113
113
  - lib/cova.rb
114
+ - lib/covaconfig.rb
114
115
  - lib/covaio.rb
115
116
  - lib/covalog.rb
116
117
  - lib/covamain.rb