/
Buildfile
126 lines (101 loc) · 3.54 KB
/
Buildfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# ==========================================================================
# SproutCore JavaScript Framework - Buildfile
# copyright (c) 2009 - Apple Inc.
# portions copyright Sprout Systems Inc. and contributors
# ==========================================================================
# This buildfile defines the configurations needed to link together the
# various frameworks that make up SproutCore. If you want to override some
# of these settings, you should make changes to your project Buildfile
# instead.
config :all,
:layout => 'sproutcore:lib/index.rhtml',
:test_layout => 'sproutcore:lib/index.rhtml',
:test_required => ['sproutcore/testing', 'sproutcore/empty_theme'],
:debug_required => ['sproutcore/debug', 'sproutcore/testing']
# in debug mode, combine the JS for SC by default. This will improve perf
# while working with apps. If you are hacking SC itself, you can turn this
# off in your project buildfile by referencing sproutcore specifically
mode :debug do
config :all,
:combine_javascript => true,
:combine_stylesheet => true
end
# CORE FRAMEWORKS
config :bootstrap,
:required => [],
:use_loader => false,
:use_modules => false
config :runtime,
:required => :tiki,
:debug_required => [],
:test_required => :core_test,
:use_modules => true,
:factory_format => :function
config :datastore,
:required => [:tiki, :runtime],
:debug_required => [],
:test_required => :core_test,
:use_modules => true,
:factory_format => :function
config :foundation,
:required => [:tiki, :runtime],
:debug_required => [],
#:test_required => :core_test,
:use_modules => false, # not yet ready for modules
:factory_format => :function
# APP-LEVEL FRAMEWORKS
%w(desktop mobile designer).each do |app_framework|
config app_framework, :required => [:runtime, :datastore, :foundation]
end
config :mobile,
:layout => 'sproutcore/mobile:lib/index.rhtml',
:test_layout => 'sproutcore/mobile:lib/index.rhtml'
# WRAPPER FRAMEWORKS
config :sproutcore,
:required => [:tiki, :runtime, :datastore, :foundation, :desktop],
:debug_reuqired => [],
:test_required => :core_test,
:use_modules => true,
:factory_format => :function
config :designer, :required => [:runtime, :foundation]
config :mini, :required => [:runtime, :datastore]
# SPECIAL FRAMEWORKS AND THEMES
# These do not require any of the built-in SproutCore frameworks
%w(testing debug standard_theme empty_theme).each do |target_name|
config target_name,
:required => [], :test_required => [], :debug_required => []
end
# CONFIGURE THEMES
config :empty_theme,
:theme_name => 'empty-theme',
:test_required => :core_test,
:debug_required => [],
:required => [],
:use_modules => true
config :iphone_theme,
:theme_name => 'iphone-theme',
:required => [],
:test_required => :core_test,
:debug_required => [],
:required => [:empty_theme],
:use_modules => true
config :standard_theme,
:required => :empty_theme,
:theme_name => 'sc-theme',
:test_required => :core_test,
:debug_required => [],
:required => [:empty_theme],
:use_modules => true
# CONFIGURE APPS
config :core_tools, :required => [:desktop]
# mode :debug do
# config :core_tools, :combine_javascript => false
# end
%w(tests docs welcome).each do |app_target|
config app_target,
:required => [:desktop, :core_tools],
:theme => :standard_theme
# mode :debug do
# config app_target, :combine_javascript => false
# end
end