calatrava 0.5.0 → 0.6.0
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/CHANGES.markdown +40 -0
- data/README.md +5 -0
- data/calatrava.gemspec +2 -3
- data/lib/calatrava/apache.rb +126 -0
- data/lib/calatrava/app.rb +2 -2
- data/lib/calatrava/app_builder.rb +68 -0
- data/lib/calatrava/configuration.rb +73 -0
- data/lib/calatrava/droid_app.rb +46 -0
- data/lib/calatrava/ios_app.rb +40 -0
- data/lib/calatrava/kernel.rb +79 -0
- data/lib/calatrava/manifest.rb +34 -11
- data/lib/calatrava/mobile_web_app.rb +74 -0
- data/lib/calatrava/project.rb +7 -191
- data/lib/calatrava/project_script.rb +186 -0
- data/lib/calatrava/shell.rb +43 -0
- data/lib/calatrava/tasks/assets.rb +4 -0
- data/lib/calatrava/tasks/automation.rb +4 -10
- data/lib/calatrava/tasks/haml.rb +9 -10
- data/lib/calatrava/tasks.rb +9 -85
- data/lib/calatrava/templates/config/templates/httpd.conf.erb +9 -9
- data/lib/calatrava/templates/droid/app/bridge.coffee +3 -0
- data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/CalatravaPlugin.java +13 -0
- data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/AlertPlugin.java +61 -0
- data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/AnnotationRegistrar.java +71 -0
- data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/KernelBridge.java +3 -4
- data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/Launcher.java +2 -1
- data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/PageRegistry.java +8 -29
- data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/PluginCommand.java +8 -0
- data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/PluginRegistry.java +112 -0
- data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/RegisteredActivity.java +3 -14
- data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/RegisteredPlugin.java +10 -0
- data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/Registration.java +8 -0
- data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/RhinoService.java +1 -0
- data/lib/calatrava/templates/droid/calatrava/src/com/calatrava/shell/WebViewActivity.java +1 -1
- data/lib/calatrava/templates/ios/Podfile.calatrava +6 -1
- data/lib/calatrava/templates/ios/src/ConversionFormViewController.m +1 -1
- data/lib/calatrava/templates/kernel/app/calatrava.coffee +32 -5
- data/lib/calatrava/templates/kernel/app/converter/controller.converter.coffee +11 -4
- data/lib/calatrava/templates/kernel/plugins/alert.coffee +9 -0
- data/lib/calatrava/templates/shell/layouts/single_page.haml +3 -3
- data/lib/calatrava/templates/web/app/source/alert.web.coffee +13 -0
- data/lib/calatrava/templates/web/app/source/bridge.coffee +10 -0
- data/lib/calatrava/templates/web/app/views/index.haml +5 -5
- data/lib/calatrava/version.rb +1 -1
- data/lib/calatrava.rb +15 -1
- data/spec/app_builder_spec.rb +46 -0
- data/spec/kernel_spec.rb +51 -0
- data/spec/manifest_spec.rb +62 -0
- data/spec/mobile_web_app_spec.rb +49 -0
- data/spec/shell_spec.rb +54 -0
- data/spec/spec_helper.rb +4 -0
- metadata +60 -49
- data/Plans.md +0 -20
- data/lib/calatrava/tasks/apache.rb +0 -54
- data/lib/calatrava/tasks/build.rb +0 -1
- data/lib/calatrava/tasks/configuration.rb +0 -41
- data/lib/calatrava/tasks/droid.rb +0 -83
- data/lib/calatrava/tasks/ios.rb +0 -73
- data/lib/calatrava/tasks/kernel.rb +0 -52
- data/lib/calatrava/tasks/shell.rb +0 -17
- data/lib/calatrava/tasks/web.rb +0 -87
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Calatrava::AppBuilder do
|
4
|
+
include Aruba::Api
|
5
|
+
|
6
|
+
before(:each) do
|
7
|
+
create_dir 'app'
|
8
|
+
|
9
|
+
proj = double('current project', :config => double('cfg', :path => 'env.coffee'))
|
10
|
+
Calatrava::Project.stub(:current).and_return(proj)
|
11
|
+
end
|
12
|
+
|
13
|
+
let(:manifest) { double('web mf',
|
14
|
+
:coffee_files => ['path/to/kernel.coffee', 'diff/path/shell.coffee'],
|
15
|
+
:kernel_bootstrap => ['path/to/kernel.coffee'],
|
16
|
+
:haml_files => ['diff/path/shell.haml']) }
|
17
|
+
|
18
|
+
let(:app) { Calatrava::AppBuilder.new('app/build', manifest) }
|
19
|
+
|
20
|
+
context '#coffee_files' do
|
21
|
+
subject { app.coffee_files }
|
22
|
+
|
23
|
+
it { should include 'path/to/kernel.coffee' }
|
24
|
+
it { should include 'diff/path/shell.coffee' }
|
25
|
+
it { should include 'env.coffee' }
|
26
|
+
end
|
27
|
+
|
28
|
+
context '#js_file' do
|
29
|
+
subject { app.js_file('path/to/sample.coffee') }
|
30
|
+
|
31
|
+
it { should == 'app/build/scripts/sample.js' }
|
32
|
+
end
|
33
|
+
|
34
|
+
context '#load_file' do
|
35
|
+
subject { app.load_instructions.lines.to_a }
|
36
|
+
|
37
|
+
it { should include 'build/scripts/kernel.js' }
|
38
|
+
it { should_not include 'build/scripts/shell.js' }
|
39
|
+
end
|
40
|
+
|
41
|
+
context '#haml_files' do
|
42
|
+
subject { app.haml_files }
|
43
|
+
|
44
|
+
it { should include 'diff/path/shell.haml' }
|
45
|
+
end
|
46
|
+
end
|
data/spec/kernel_spec.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Calatrava::Kernel do
|
4
|
+
include Aruba::Api
|
5
|
+
|
6
|
+
before(:each) do
|
7
|
+
create_dir 'kernel'
|
8
|
+
create_dir 'kernel/app'
|
9
|
+
write_file 'kernel/app/support.coffee', ''
|
10
|
+
|
11
|
+
create_dir 'kernel/app/mod1'
|
12
|
+
write_file 'kernel/app/mod1/first.coffee', ''
|
13
|
+
|
14
|
+
create_dir 'kernel/plugins'
|
15
|
+
write_file 'kernel/plugins/plugin.one.coffee', ''
|
16
|
+
write_file 'kernel/plugins/two.coffee', ''
|
17
|
+
end
|
18
|
+
|
19
|
+
let(:kernel) { Calatrava::Kernel.new(current_dir) }
|
20
|
+
|
21
|
+
context '#features' do
|
22
|
+
subject { kernel.features }
|
23
|
+
|
24
|
+
it { should have(1).features }
|
25
|
+
|
26
|
+
context 'a single feature' do
|
27
|
+
subject { kernel.features[0] }
|
28
|
+
|
29
|
+
it { should include :name => 'mod1' }
|
30
|
+
it { should include :coffee => ['kernel/app/mod1/first.coffee'] }
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
context '#coffee_files' do
|
35
|
+
subject { kernel.coffee_files }
|
36
|
+
|
37
|
+
it { should have(3).files }
|
38
|
+
it { should include 'kernel/app/support.coffee' }
|
39
|
+
it { should include 'kernel/plugins/plugin.one.coffee' }
|
40
|
+
it { should include 'kernel/plugins/two.coffee' }
|
41
|
+
end
|
42
|
+
|
43
|
+
context '#coffee_path' do
|
44
|
+
subject { kernel.coffee_path }
|
45
|
+
|
46
|
+
it { should include 'app:' }
|
47
|
+
it { should include 'app/mod1' }
|
48
|
+
it { should include 'app/plugins' }
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'yaml'
|
3
|
+
|
4
|
+
describe Calatrava::Manifest do
|
5
|
+
include Aruba::Api
|
6
|
+
|
7
|
+
before(:each) do
|
8
|
+
create_dir 'app'
|
9
|
+
write_file 'app/manifest.yml', ['included'].to_yaml
|
10
|
+
end
|
11
|
+
|
12
|
+
let(:features) { }
|
13
|
+
let(:kernel) { double('kernel',
|
14
|
+
:coffee_files => ['kernel_everywhere'],
|
15
|
+
:features => [{:name => 'included', :coffee => 'k_inc', :haml => 'inc'},
|
16
|
+
{:name => 'excluded', :coffee => 'k_exc', :haml => 'exc'}]) }
|
17
|
+
let(:shell) { double('shell',
|
18
|
+
:coffee_files => ['shell_everywhere'],
|
19
|
+
:haml_files => ['fragment'],
|
20
|
+
:css_files => ['styles'],
|
21
|
+
:features => [{:name => 'included', :coffee => 'shell_inc', :haml => 'inc'},
|
22
|
+
{:name => 'excluded', :coffee => 'shell_exc', :haml => 'exc'}]) }
|
23
|
+
let(:manifest) { Calatrava::Manifest.new(current_dir, 'app', kernel, shell) }
|
24
|
+
|
25
|
+
context 'coffee files' do
|
26
|
+
subject { manifest.coffee_files }
|
27
|
+
|
28
|
+
it { should include 'kernel_everywhere' }
|
29
|
+
it { should include 'shell_everywhere' }
|
30
|
+
|
31
|
+
it { should include 'k_inc' }
|
32
|
+
it { should_not include 'k_exc' }
|
33
|
+
it { should include 'shell_inc' }
|
34
|
+
it { should_not include 'shell_exc' }
|
35
|
+
end
|
36
|
+
|
37
|
+
context 'haml files' do
|
38
|
+
subject { manifest.haml_files }
|
39
|
+
|
40
|
+
it { should include 'fragment' }
|
41
|
+
it { should include 'inc' }
|
42
|
+
it { should_not include 'exc' }
|
43
|
+
end
|
44
|
+
|
45
|
+
context '#css_files' do
|
46
|
+
subject { manifest.css_files }
|
47
|
+
|
48
|
+
it { should include 'styles' }
|
49
|
+
end
|
50
|
+
|
51
|
+
context '#kernel_bootstrap' do
|
52
|
+
subject { manifest.kernel_bootstrap }
|
53
|
+
|
54
|
+
it { should include 'k_inc' }
|
55
|
+
it { should include 'kernel_everywhere' }
|
56
|
+
|
57
|
+
it { should_not include 'k_exc' }
|
58
|
+
it { should_not include 'shell_everywhere' }
|
59
|
+
it { should_not include 'shell_inc' }
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Calatrava::MobileWebApp do
|
4
|
+
include Aruba::Api
|
5
|
+
|
6
|
+
before(:each) do
|
7
|
+
create_dir 'web'
|
8
|
+
create_dir 'web/app/source'
|
9
|
+
write_file 'web/app/source/support.coffee', ''
|
10
|
+
|
11
|
+
proj = double('current project', :config => double('cfg', :path => 'env.coffee'))
|
12
|
+
Calatrava::Project.stub(:current).and_return(proj)
|
13
|
+
end
|
14
|
+
|
15
|
+
let(:manifest) { double('web mf',
|
16
|
+
:coffee_files => ['path/to/kernel.coffee', 'diff/path/shell.coffee'],
|
17
|
+
:haml_files => ['diff/path/shell.haml']) }
|
18
|
+
|
19
|
+
let(:mobile_web) { Calatrava::MobileWebApp.new(current_dir, manifest) }
|
20
|
+
|
21
|
+
it 'should define the correct output directories' do
|
22
|
+
mobile_web.build_dir.should match %r{web/public$}
|
23
|
+
mobile_web.scripts_build_dir.should match %r{web/public/scripts$}
|
24
|
+
end
|
25
|
+
|
26
|
+
context '#coffee_files' do
|
27
|
+
subject { mobile_web.coffee_files }
|
28
|
+
|
29
|
+
it { should include 'path/to/kernel.coffee' }
|
30
|
+
it { should include 'diff/path/shell.coffee' }
|
31
|
+
it { should include 'web/app/source/support.coffee' }
|
32
|
+
it { should include 'env.coffee' }
|
33
|
+
end
|
34
|
+
|
35
|
+
context '#scripts' do
|
36
|
+
subject { mobile_web.scripts }
|
37
|
+
|
38
|
+
it { should include 'scripts/kernel.js' }
|
39
|
+
it { should include 'scripts/shell.js' }
|
40
|
+
it { should include 'scripts/support.js' }
|
41
|
+
end
|
42
|
+
|
43
|
+
context '#haml_files' do
|
44
|
+
subject { mobile_web.haml_files }
|
45
|
+
|
46
|
+
it { should include 'diff/path/shell.haml' }
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
data/spec/shell_spec.rb
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Calatrava::Shell do
|
4
|
+
include Aruba::Api
|
5
|
+
|
6
|
+
let(:shell) { Calatrava::Shell.new(current_dir) }
|
7
|
+
|
8
|
+
before(:each) do
|
9
|
+
create_dir 'shell/support'
|
10
|
+
write_file 'shell/support/shell.coffee', ''
|
11
|
+
write_file 'shell/support/fragment.haml', ''
|
12
|
+
create_dir 'shell/pages/example'
|
13
|
+
write_file 'shell/pages/example/page.coffee', ''
|
14
|
+
write_file 'shell/pages/example/page.haml', ''
|
15
|
+
|
16
|
+
create_dir 'shell/stylesheets'
|
17
|
+
write_file 'shell/stylesheets/shell.css', ''
|
18
|
+
write_file 'shell/stylesheets/template.sass', ''
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'coffee files' do
|
22
|
+
subject { shell.coffee_files }
|
23
|
+
|
24
|
+
it { should include 'shell/support/shell.coffee' }
|
25
|
+
end
|
26
|
+
|
27
|
+
context 'haml files' do
|
28
|
+
subject { shell.haml_files }
|
29
|
+
|
30
|
+
it { should include 'shell/support/fragment.haml' }
|
31
|
+
end
|
32
|
+
|
33
|
+
context 'css files' do
|
34
|
+
subject { shell.css_files }
|
35
|
+
|
36
|
+
it { should include 'shell/stylesheets/shell.css' }
|
37
|
+
it { should include 'shell/stylesheets/template.sass' }
|
38
|
+
end
|
39
|
+
|
40
|
+
context 'features' do
|
41
|
+
subject { shell.features }
|
42
|
+
|
43
|
+
it { should have(1).feature }
|
44
|
+
|
45
|
+
context 'a single feature' do
|
46
|
+
subject { shell.features[0] }
|
47
|
+
|
48
|
+
it { should include :name => 'example' }
|
49
|
+
it { should include :coffee => ['shell/pages/example/page.coffee'] }
|
50
|
+
it { should include :haml => ['shell/pages/example/page.haml'] }
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: calatrava
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70224599001040 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70224599001040
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: aruba
|
27
|
-
requirement: &
|
27
|
+
requirement: &70224599000620 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70224599000620
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &70224599000200 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70224599000200
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: thor
|
49
|
-
requirement: &
|
49
|
+
requirement: &70224598999780 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70224598999780
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: haml
|
60
|
-
requirement: &
|
60
|
+
requirement: &70224598999360 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70224598999360
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: sass
|
71
|
-
requirement: &
|
71
|
+
requirement: &70224598998940 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70224598998940
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: mustache
|
82
|
-
requirement: &
|
82
|
+
requirement: &70224598998520 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,21 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70224598998520
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
|
-
name:
|
93
|
-
requirement: &
|
94
|
-
none: false
|
95
|
-
requirements:
|
96
|
-
- - ! '>='
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
version: '0'
|
99
|
-
type: :runtime
|
100
|
-
prerelease: false
|
101
|
-
version_requirements: *70314197257300
|
102
|
-
- !ruby/object:Gem::Dependency
|
103
|
-
name: xcodeproj
|
104
|
-
requirement: &70314197256880 !ruby/object:Gem::Requirement
|
92
|
+
name: cucumber
|
93
|
+
requirement: &70224598998100 !ruby/object:Gem::Requirement
|
105
94
|
none: false
|
106
95
|
requirements:
|
107
96
|
- - ! '>='
|
@@ -109,10 +98,10 @@ dependencies:
|
|
109
98
|
version: '0'
|
110
99
|
type: :runtime
|
111
100
|
prerelease: false
|
112
|
-
version_requirements: *
|
101
|
+
version_requirements: *70224598998100
|
113
102
|
- !ruby/object:Gem::Dependency
|
114
|
-
name:
|
115
|
-
requirement: &
|
103
|
+
name: watir-webdriver
|
104
|
+
requirement: &70224598997680 !ruby/object:Gem::Requirement
|
116
105
|
none: false
|
117
106
|
requirements:
|
118
107
|
- - ! '>='
|
@@ -120,10 +109,10 @@ dependencies:
|
|
120
109
|
version: '0'
|
121
110
|
type: :runtime
|
122
111
|
prerelease: false
|
123
|
-
version_requirements: *
|
112
|
+
version_requirements: *70224598997680
|
124
113
|
- !ruby/object:Gem::Dependency
|
125
114
|
name: frank-cucumber
|
126
|
-
requirement: &
|
115
|
+
requirement: &70224598997260 !ruby/object:Gem::Requirement
|
127
116
|
none: false
|
128
117
|
requirements:
|
129
118
|
- - ! '>='
|
@@ -131,10 +120,10 @@ dependencies:
|
|
131
120
|
version: '0'
|
132
121
|
type: :runtime
|
133
122
|
prerelease: false
|
134
|
-
version_requirements: *
|
123
|
+
version_requirements: *70224598997260
|
135
124
|
- !ruby/object:Gem::Dependency
|
136
|
-
name:
|
137
|
-
requirement: &
|
125
|
+
name: xcodeproj
|
126
|
+
requirement: &70224598996840 !ruby/object:Gem::Requirement
|
138
127
|
none: false
|
139
128
|
requirements:
|
140
129
|
- - ! '>='
|
@@ -142,10 +131,10 @@ dependencies:
|
|
142
131
|
version: '0'
|
143
132
|
type: :runtime
|
144
133
|
prerelease: false
|
145
|
-
version_requirements: *
|
134
|
+
version_requirements: *70224598996840
|
146
135
|
- !ruby/object:Gem::Dependency
|
147
136
|
name: cocoapods
|
148
|
-
requirement: &
|
137
|
+
requirement: &70224598996420 !ruby/object:Gem::Requirement
|
149
138
|
none: false
|
150
139
|
requirements:
|
151
140
|
- - ! '>='
|
@@ -153,7 +142,7 @@ dependencies:
|
|
153
142
|
version: '0'
|
154
143
|
type: :runtime
|
155
144
|
prerelease: false
|
156
|
-
version_requirements: *
|
145
|
+
version_requirements: *70224598996420
|
157
146
|
description: A framework to build cross-platform mobile apps with high quality native
|
158
147
|
UIs.
|
159
148
|
email:
|
@@ -165,9 +154,9 @@ extra_rdoc_files: []
|
|
165
154
|
files:
|
166
155
|
- .gitignore
|
167
156
|
- .rvmrc
|
157
|
+
- CHANGES.markdown
|
168
158
|
- Gemfile
|
169
159
|
- LICENSE.txt
|
170
|
-
- Plans.md
|
171
160
|
- README.md
|
172
161
|
- Rakefile
|
173
162
|
- bin/calatrava
|
@@ -180,26 +169,27 @@ files:
|
|
180
169
|
- features/support/calatrava_app.rb
|
181
170
|
- features/support/env.rb
|
182
171
|
- lib/calatrava.rb
|
172
|
+
- lib/calatrava/apache.rb
|
183
173
|
- lib/calatrava/app.rb
|
174
|
+
- lib/calatrava/app_builder.rb
|
175
|
+
- lib/calatrava/configuration.rb
|
176
|
+
- lib/calatrava/droid_app.rb
|
177
|
+
- lib/calatrava/ios_app.rb
|
178
|
+
- lib/calatrava/kernel.rb
|
184
179
|
- lib/calatrava/manifest.rb
|
180
|
+
- lib/calatrava/mobile_web_app.rb
|
185
181
|
- lib/calatrava/project.rb
|
182
|
+
- lib/calatrava/project_script.rb
|
186
183
|
- lib/calatrava/resources_build_phase.rb
|
184
|
+
- lib/calatrava/shell.rb
|
187
185
|
- lib/calatrava/tasks.rb
|
188
|
-
- lib/calatrava/tasks/apache.rb
|
189
186
|
- lib/calatrava/tasks/artifact.rb
|
190
187
|
- lib/calatrava/tasks/assets.rb
|
191
188
|
- lib/calatrava/tasks/automation.rb
|
192
189
|
- lib/calatrava/tasks/bootstrap.rb
|
193
|
-
- lib/calatrava/tasks/build.rb
|
194
|
-
- lib/calatrava/tasks/configuration.rb
|
195
|
-
- lib/calatrava/tasks/droid.rb
|
196
190
|
- lib/calatrava/tasks/haml.rb
|
197
|
-
- lib/calatrava/tasks/ios.rb
|
198
|
-
- lib/calatrava/tasks/kernel.rb
|
199
191
|
- lib/calatrava/tasks/precommit.rb
|
200
192
|
- lib/calatrava/tasks/release.rb
|
201
|
-
- lib/calatrava/tasks/shell.rb
|
202
|
-
- lib/calatrava/tasks/web.rb
|
203
193
|
- lib/calatrava/template.rb
|
204
194
|
- lib/calatrava/templates/.rvmrc.calatrava
|
205
195
|
- lib/calatrava/templates/Gemfile.calatrava
|
@@ -220,12 +210,19 @@ files:
|
|
220
210
|
- lib/calatrava/templates/droid/calatrava/src/com/CALATRAVA_TMPL/ConversionForm.java.calatrava
|
221
211
|
- lib/calatrava/templates/droid/calatrava/src/com/CALATRAVA_TMPL/Title.java.calatrava
|
222
212
|
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/CalatravaPage.java
|
213
|
+
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/CalatravaPlugin.java
|
223
214
|
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/AjaxRequestManager.java
|
215
|
+
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/AlertPlugin.java
|
216
|
+
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/AnnotationRegistrar.java
|
224
217
|
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/AssetRepository.java
|
225
218
|
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/KernelBridge.java
|
226
219
|
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/Launcher.java
|
227
220
|
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/PageRegistry.java
|
221
|
+
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/PluginCommand.java
|
222
|
+
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/PluginRegistry.java
|
228
223
|
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/RegisteredActivity.java
|
224
|
+
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/RegisteredPlugin.java
|
225
|
+
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/Registration.java
|
229
226
|
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/RequestLoader.java
|
230
227
|
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/bridge/RhinoService.java
|
231
228
|
- lib/calatrava/templates/droid/calatrava/src/com/calatrava/shell/WebViewActivity.java
|
@@ -255,6 +252,7 @@ files:
|
|
255
252
|
- lib/calatrava/templates/kernel/app/pageHelper.coffee
|
256
253
|
- lib/calatrava/templates/kernel/features/support/bridge.coffee
|
257
254
|
- lib/calatrava/templates/kernel/features/support/spec_helper.js
|
255
|
+
- lib/calatrava/templates/kernel/plugins/alert.coffee
|
258
256
|
- lib/calatrava/templates/kernel/spec/converter/controller.converter.spec.coffee
|
259
257
|
- lib/calatrava/templates/kernel/spec/environment.spec_helper.coffee
|
260
258
|
- lib/calatrava/templates/kernel/spec/spec_helper.js
|
@@ -267,12 +265,19 @@ files:
|
|
267
265
|
- lib/calatrava/templates/shell/stylesheets/shell.scss
|
268
266
|
- lib/calatrava/templates/shell/support/shell.coffee
|
269
267
|
- lib/calatrava/templates/web/apache/conf/mime.types
|
268
|
+
- lib/calatrava/templates/web/app/source/alert.web.coffee
|
270
269
|
- lib/calatrava/templates/web/app/source/bridge.coffee
|
271
270
|
- lib/calatrava/templates/web/app/source/init.coffee
|
272
271
|
- lib/calatrava/templates/web/app/views/index.haml
|
273
272
|
- lib/calatrava/templates/web/deploy/instance.sh
|
274
273
|
- lib/calatrava/templates/web/manifest.yml
|
275
274
|
- lib/calatrava/version.rb
|
275
|
+
- spec/app_builder_spec.rb
|
276
|
+
- spec/kernel_spec.rb
|
277
|
+
- spec/manifest_spec.rb
|
278
|
+
- spec/mobile_web_app_spec.rb
|
279
|
+
- spec/shell_spec.rb
|
280
|
+
- spec/spec_helper.rb
|
276
281
|
homepage: http://calatrava.github.com
|
277
282
|
licenses: []
|
278
283
|
post_install_message:
|
@@ -305,3 +310,9 @@ test_files:
|
|
305
310
|
- features/step_definitions/template_steps.rb
|
306
311
|
- features/support/calatrava_app.rb
|
307
312
|
- features/support/env.rb
|
313
|
+
- spec/app_builder_spec.rb
|
314
|
+
- spec/kernel_spec.rb
|
315
|
+
- spec/manifest_spec.rb
|
316
|
+
- spec/mobile_web_app_spec.rb
|
317
|
+
- spec/shell_spec.rb
|
318
|
+
- spec/spec_helper.rb
|
data/Plans.md
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
Calatrava will be a Ruby gem that you use to create projects. Running
|
2
|
-
`calatrava <app>` will create a directory for a new app.
|
3
|
-
|
4
|
-
This directory will contain the recommended directory tree, and a
|
5
|
-
Rakefile that uses the Calatrava build tasks.
|
6
|
-
|
7
|
-
The directory tree will contain the following directories:
|
8
|
-
|
9
|
-
* `kernel`: the shared logic re-used across all platforms.
|
10
|
-
* `shell`: the HTML UI that may be shared across many platforms.
|
11
|
-
* `ios`: a directory containing an Xcode project for the iOS app.
|
12
|
-
* `droid`: a directory containing the Android project.
|
13
|
-
* `web`: a directory containing a single-page JavaScript application
|
14
|
-
built from the `kernel` and `shell`.
|
15
|
-
* `features`: a directory to put your cucumber features in.
|
16
|
-
|
17
|
-
The rake tasks will be responsible for building the kernel and shell,
|
18
|
-
and it's expected that these tasks will be used to build the other
|
19
|
-
applications.
|
20
|
-
|
@@ -1,54 +0,0 @@
|
|
1
|
-
require 'erb'
|
2
|
-
|
3
|
-
directory APACHE_LOGS_DIR
|
4
|
-
|
5
|
-
if `uname -a`.chomp["amzn1"]
|
6
|
-
HTTPD = "httpd"
|
7
|
-
MODULES_PATH = "/usr/lib64/httpd/modules"
|
8
|
-
LOAD_LOG_MODULE = true
|
9
|
-
elsif `uname`.chomp == "Linux"
|
10
|
-
HTTPD = "apache2"
|
11
|
-
MODULES_PATH = "/usr/lib/apache2/modules"
|
12
|
-
LOAD_LOG_MODULE = false
|
13
|
-
else
|
14
|
-
HTTPD = "httpd"
|
15
|
-
MODULES_PATH = "/usr/libexec/apache2"
|
16
|
-
LOAD_LOG_MODULE = true
|
17
|
-
end
|
18
|
-
|
19
|
-
def httpd(command, opts = {})
|
20
|
-
cmd = %Q{#{HTTPD} -d #{APACHE_DIR} -f conf/httpd.conf -e DEBUG -k #{command} -DNO_DETACH -DFOREGROUND}
|
21
|
-
puts cmd
|
22
|
-
if opts[:background]
|
23
|
-
fork do
|
24
|
-
exec cmd
|
25
|
-
end
|
26
|
-
else
|
27
|
-
exec cmd
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def configure_apache
|
32
|
-
cp config_path("httpd.conf"), File.join(APACHE_DIR, 'conf')
|
33
|
-
end
|
34
|
-
|
35
|
-
def launch_apache(opts = {})
|
36
|
-
if !opts[:background]
|
37
|
-
puts
|
38
|
-
puts "\t\t" + "*"*40
|
39
|
-
puts "\t\t" + "*** STARTING APACHE ON PORT 8888 ***"
|
40
|
-
puts "\t\t" + "*"*40
|
41
|
-
puts
|
42
|
-
end
|
43
|
-
|
44
|
-
httpd :start, opts
|
45
|
-
end
|
46
|
-
|
47
|
-
def stop_apache
|
48
|
-
httpd 'graceful-stop'
|
49
|
-
end
|
50
|
-
|
51
|
-
def reload_apache
|
52
|
-
httpd :restart
|
53
|
-
end
|
54
|
-
|
@@ -1 +0,0 @@
|
|
1
|
-
task :build => ['web:build', 'ios:build', 'droid:build']
|
@@ -1,41 +0,0 @@
|
|
1
|
-
def config_for(environment)
|
2
|
-
YAML::load(File.open(CONFIG_YAML))[environment]
|
3
|
-
end
|
4
|
-
|
5
|
-
def evaluate_template(template_path, configuration)
|
6
|
-
file_path = File.join(CONFIG_RESULT_DIR, File.basename(template_path).gsub(".erb", ''))
|
7
|
-
puts "Config: #{File.basename(template_path)} -> #{File.basename(file_path)}"
|
8
|
-
result = ERB.new(IO.read(template_path)).result(binding)
|
9
|
-
IO.write(file_path, result)
|
10
|
-
end
|
11
|
-
|
12
|
-
def config_path(file)
|
13
|
-
env = ENV['CALATRAVA_ENV'] || "development"
|
14
|
-
puts "CALATRAVA_ENV = '#{env}'"
|
15
|
-
full_path = artifact_path(File.join(env, file))
|
16
|
-
fail "Could not find '#{file}' in environment '#{env}'" unless File.exists? full_path
|
17
|
-
full_path
|
18
|
-
end
|
19
|
-
|
20
|
-
def app_name
|
21
|
-
end
|
22
|
-
|
23
|
-
TEMPLATES = FileList["#{CONFIG_TEMPLATE_DIR}/*.erb"]
|
24
|
-
|
25
|
-
namespace :configure do
|
26
|
-
|
27
|
-
%w{local development test automation production}.each do |environment|
|
28
|
-
desc "Create config files for #{environment} environment"
|
29
|
-
task environment.to_sym => [:clean, CONFIG_RESULT_DIR] do
|
30
|
-
configuration = config_for(environment)
|
31
|
-
TEMPLATES.each do |template|
|
32
|
-
evaluate_template(template, configuration)
|
33
|
-
end
|
34
|
-
artifact_dir(CONFIG_RESULT_DIR, environment)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
task :clean do
|
39
|
-
rm_rf CONFIG_RESULT_DIR
|
40
|
-
end
|
41
|
-
end
|