build-tool 0.0.3 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (149) hide show
  1. data.tar.gz.sig +0 -0
  2. data/History.txt +28 -1
  3. data/Manifest.txt +91 -52
  4. data/README.txt +63 -0
  5. data/Rakefile +20 -23
  6. data/bin/build-tool +53 -0
  7. data/lib/build-tool.rb +7 -0
  8. data/lib/build-tool/GUI.rb +360 -0
  9. data/lib/build-tool/application.rb +84 -0
  10. data/lib/build-tool/build-system/autoconf.rb +60 -0
  11. data/lib/build-tool/build-system/base.rb +142 -0
  12. data/lib/build-tool/build-system/cmake.rb +119 -0
  13. data/lib/build-tool/build-system/custom.rb +115 -0
  14. data/lib/build-tool/build-system/qt.rb +113 -0
  15. data/lib/build-tool/cfg/lexer.rb +558 -0
  16. data/lib/build-tool/cfg/lexer.rex +248 -0
  17. data/lib/build-tool/cfg/lexer_base.rb +82 -0
  18. data/lib/build-tool/cfg/node.rb +94 -0
  19. data/lib/build-tool/cfg/parser.rb +871 -0
  20. data/lib/build-tool/cfg/parser.y +279 -0
  21. data/lib/build-tool/cfg/visitor.rb +471 -0
  22. data/lib/build-tool/commands.rb +639 -0
  23. data/lib/build-tool/commands/build.rb +120 -0
  24. data/lib/build-tool/commands/configure.rb +73 -0
  25. data/lib/build-tool/commands/ctags.rb +46 -0
  26. data/lib/build-tool/commands/environments.rb +29 -0
  27. data/lib/build-tool/commands/environments/list.rb +37 -0
  28. data/lib/build-tool/commands/environments/set.rb +33 -0
  29. data/lib/build-tool/commands/fetch.rb +50 -0
  30. data/lib/build-tool/commands/files.rb +73 -0
  31. data/lib/build-tool/commands/help.rb +22 -0
  32. data/lib/build-tool/commands/info.rb +48 -0
  33. data/lib/build-tool/commands/install.rb +56 -0
  34. data/lib/build-tool/commands/modules.rb +29 -0
  35. data/lib/build-tool/commands/modules/info.rb +75 -0
  36. data/lib/build-tool/commands/modules/list.rb +49 -0
  37. data/lib/build-tool/commands/modules/shell.rb +40 -0
  38. data/lib/build-tool/commands/rebase.rb +46 -0
  39. data/lib/build-tool/commands/recipes.rb +32 -0
  40. data/lib/build-tool/commands/recipes/info.rb +46 -0
  41. data/lib/build-tool/commands/recipes/install.rb +184 -0
  42. data/lib/build-tool/commands/recipes/list.rb +33 -0
  43. data/lib/build-tool/configuration.rb +115 -0
  44. data/lib/build-tool/environment.rb +119 -0
  45. data/lib/build-tool/errors.rb +9 -0
  46. data/lib/build-tool/module.rb +366 -0
  47. data/lib/build-tool/pluginbase.rb +43 -0
  48. data/lib/build-tool/recipe.rb +180 -0
  49. data/lib/build-tool/repository.rb +59 -0
  50. data/lib/build-tool/server.rb +43 -0
  51. data/lib/build-tool/singleton.rb +50 -0
  52. data/lib/build-tool/sshkey.rb +22 -0
  53. data/lib/build-tool/vcs/base.rb +105 -0
  54. data/lib/build-tool/vcs/git-svn.rb +154 -0
  55. data/lib/build-tool/vcs/git.rb +187 -0
  56. data/lib/build-tool/vcs/svn.rb +136 -0
  57. data/lib/mj/logging.rb +31 -0
  58. data/lib/mj/tools/ssh.rb +64 -0
  59. data/lib/{kde-build → mj/tools}/subprocess.rb +21 -16
  60. data/lib/mj/visitor.rb +21 -0
  61. data/recipes/kde/files/finish_installation.sh +16 -0
  62. data/recipes/kde/files/kde4.desktop +22 -0
  63. data/recipes/kde/files/xsession +89 -0
  64. data/recipes/kde/info.yaml +10 -0
  65. data/recipes/kde/recipe +585 -0
  66. data/recipes/kde/recipe-local +90 -0
  67. data/recipes/kde/settings.yaml +52 -0
  68. data/recipes/kde43/info.yaml +10 -0
  69. data/recipes/kde43/recipe +256 -0
  70. data/recipes/kde43/recipe-local +90 -0
  71. data/recipes/kde43/settings.yaml +32 -0
  72. data/recipes/kdeqt4.6/custom/qt/qtscriptgenerator/compile.sh +77 -0
  73. data/recipes/kdeqt4.6/custom/qt/qtscriptgenerator/configure.sh +70 -0
  74. data/recipes/kdeqt4.6/custom/qt/qtscriptgenerator/install.sh +39 -0
  75. data/recipes/kdeqt4.6/info.yaml +7 -0
  76. data/recipes/kdeqt4.6/recipe +155 -0
  77. data/recipes/kdeqt4.6/recipe-local +30 -0
  78. data/recipes/kdeqt4.6/settings.yaml +27 -0
  79. data/tags +745 -0
  80. data/tasks/genfiles.rake +28 -0
  81. data/tasks/rdoc.rake +34 -0
  82. data/tasks/rspec.rake +21 -0
  83. data/test.rb +28 -0
  84. data/test/commands/test_build.rb +29 -0
  85. data/test/test_build_system.rb +98 -0
  86. data/test/test_cli.rb +61 -0
  87. data/test/test_command.rb +175 -0
  88. data/test/test_configuration_parser.rb +542 -0
  89. data/test/test_environment.rb +82 -0
  90. data/test/test_helper.rb +39 -7
  91. data/test/test_module.rb +158 -0
  92. data/test/test_repository.rb +75 -0
  93. data/test/test_singleton.rb +51 -0
  94. data/test/test_ssh_key.rb +14 -0
  95. data/test/test_svn_parser.rb +28 -0
  96. data/test/test_vcs.rb +33 -0
  97. metadata +139 -90
  98. metadata.gz.sig +0 -0
  99. data/PostInstall.txt +0 -3
  100. data/TODO +0 -2
  101. data/bin/kde-build.rb +0 -21
  102. data/config/website.yml +0 -2
  103. data/config/website.yml.sample +0 -2
  104. data/lib/kde-build.rb +0 -18
  105. data/lib/kde-build/application.rb +0 -270
  106. data/lib/kde-build/build_system.rb +0 -28
  107. data/lib/kde-build/build_system/autoconf.rb +0 -108
  108. data/lib/kde-build/build_system/base.rb +0 -139
  109. data/lib/kde-build/build_system/cmake.rb +0 -94
  110. data/lib/kde-build/build_system/qtcopy.rb +0 -127
  111. data/lib/kde-build/command.rb +0 -42
  112. data/lib/kde-build/command/build.rb +0 -106
  113. data/lib/kde-build/command/compile.rb +0 -39
  114. data/lib/kde-build/command/configure.rb +0 -48
  115. data/lib/kde-build/command/ctags.rb +0 -41
  116. data/lib/kde-build/command/fetch.rb +0 -33
  117. data/lib/kde-build/command/help.rb +0 -71
  118. data/lib/kde-build/command/info.rb +0 -45
  119. data/lib/kde-build/command/install.rb +0 -39
  120. data/lib/kde-build/command/module_based.rb +0 -44
  121. data/lib/kde-build/command/rebase.rb +0 -50
  122. data/lib/kde-build/command/version.rb +0 -43
  123. data/lib/kde-build/configuration.rb +0 -209
  124. data/lib/kde-build/exception.rb +0 -6
  125. data/lib/kde-build/metaaid.rb +0 -18
  126. data/lib/kde-build/module.rb +0 -227
  127. data/lib/kde-build/module_configuration.rb +0 -107
  128. data/lib/kde-build/moduleregistry.rb +0 -85
  129. data/lib/kde-build/tools/ctags.rb +0 -59
  130. data/lib/kde-build/tools/logging.rb +0 -49
  131. data/lib/kde-build/tools/make.rb +0 -58
  132. data/lib/kde-build/tools/ssh.rb +0 -47
  133. data/lib/kde-build/vcs.rb +0 -28
  134. data/lib/kde-build/vcs/base.rb +0 -85
  135. data/lib/kde-build/vcs/git-svn.rb +0 -139
  136. data/lib/kde-build/vcs/git.rb +0 -121
  137. data/lib/kde-build/vcs/svn.rb +0 -102
  138. data/script/console +0 -10
  139. data/script/destroy +0 -14
  140. data/script/generate +0 -14
  141. data/script/txt2html +0 -71
  142. data/test.yaml.tmpl +0 -632
  143. data/test/test_kde-build.rb +0 -11
  144. data/test/test_vcs_svn.rb +0 -44
  145. data/website/index.html +0 -84
  146. data/website/index.txt +0 -59
  147. data/website/javascripts/rounded_corners_lite.inc.js +0 -285
  148. data/website/stylesheets/screen.css +0 -159
  149. data/website/template.html.erb +0 -50
@@ -0,0 +1,248 @@
1
+ # vim:ft=ruby
2
+
3
+ #
4
+ ### HEADER
5
+ #
6
+ require 'build-tool/cfg/lexer_base.rb'
7
+
8
+ class BuildTool::Cfg::Lexer
9
+
10
+ #
11
+ ### OPTIONS
12
+ #
13
+ option
14
+ # Options for rex
15
+ # ignorecase # when pattern match, ignore char case.
16
+ # stub # append stub main for debug.
17
+ # independent # independent mode, for it is not inherited Racc.
18
+
19
+ #
20
+ ### INNER
21
+ #
22
+ inner
23
+ # Code here will be part of the generated class
24
+
25
+ # include our standard stuff
26
+ include LexerBase
27
+
28
+ def do_parse
29
+ @states = []
30
+ super
31
+ end
32
+
33
+ #
34
+ ### MACRO
35
+ #
36
+ macro
37
+ # Define regular expression macros
38
+ BLANK [\ \t]+
39
+ LF [\r\n]
40
+ COMMENT \#[^\r\n]*
41
+ INHERITANCE <
42
+
43
+ STRING "([^\"\r\n]*)"
44
+ STRINGERROR "([^\"\r\n]*)$
45
+
46
+ TOKEN [a-zA-Z][A-Za-z_0-9-]*
47
+
48
+ #
49
+ ### RULES
50
+ #
51
+ rule
52
+
53
+ log-directory\b { [ :LOG_DIRECTORY, text ]; }
54
+ vcs\b { @states.push @state; @state = :VCS; [:VCS, text]; }
55
+ build-system\b { @states.push @state; @state = :BUILD_SYSTEM; [:BUILD_SYSTEM, text]; }
56
+ server\b { @states.push @state; @state = :SERVER; [:SERVER, text]; }
57
+ environment\b { @states.push @state; @state = :ENVIRONMENT; [:ENVIRONMENT, text]; }
58
+ module\b { @states.push @state; @state = :MODULE; [:MODULE, text]; }
59
+ repository\b { @states.push @state; @state = :REPOSITORY; [:REPOSITORY, text]; }
60
+ ssh-key\b { @states.push @state; @state = :SSH_KEY; [:SSH_KEY, text]; }
61
+ # COMMON
62
+ {STRING} { [:STRING, @ss[1]]; }
63
+ {TOKEN} { [:TOKEN, text]; }
64
+ {COMMENT} { [:COMMENT, text]; }
65
+ {BLANK} { [:IGNORE, text]; }
66
+ {LF} { [:IGNORE, text]; }
67
+ {STRINGERROR} { [:GARBAGE, text]; }
68
+ . { [:GARBAGE, text]; }
69
+
70
+ #
71
+ ### BUILD SYSTEM
72
+ #
73
+ :BUILD_SYSTEM option { [:OPTION, text]; }
74
+ :BUILD_SYSTEM inplace { [:INPLACE, text]; }
75
+ :BUILD_SYSTEM end\b { @state = @states.pop; [ :END, text ]; }
76
+ # COMMON
77
+ :BUILD_SYSTEM {STRING} { [:STRING, @ss[1]]; }
78
+ :BUILD_SYSTEM {TOKEN} { [:TOKEN, text]; }
79
+ :BUILD_SYSTEM {COMMENT} { [:COMMENT, text]; }
80
+ :BUILD_SYSTEM {BLANK} { [:IGNORE, text]; }
81
+ :BUILD_SYSTEM {LF} { [:IGNORE, text]; }
82
+ :BUILD_SYSTEM {STRINGERROR} { [:GARBAGE, text]; }
83
+ :BUILD_SYSTEM . { [:GARBAGE, text]; }
84
+
85
+ #
86
+ ### ENVIRONMENT DEFINITION
87
+ #
88
+ :ENVIRONMENT var\b { [:VAR, text] }
89
+ :ENVIRONMENT prepend\b { [:PREPEND, text] }
90
+ :ENVIRONMENT append\b { [:APPEND, text] }
91
+ :ENVIRONMENT set\b { [:SET, text] }
92
+ :ENVIRONMENT {INHERITANCE} { [:INHERITANCE, text] }
93
+ :ENVIRONMENT end\b { @state = @states.pop; [:END, text] }
94
+ # COMMON
95
+ :ENVIRONMENT {STRING} { [:STRING, @ss[1]]; }
96
+ :ENVIRONMENT {TOKEN} { [:TOKEN, text]; }
97
+ :ENVIRONMENT {COMMENT} { [:COMMENT, text]; }
98
+ :ENVIRONMENT {BLANK} { [:IGNORE, text]; }
99
+ :ENVIRONMENT {LF} { [:IGNORE, text]; }
100
+ :ENVIRONMENT {STRINGERROR} { [:GARBAGE, text]; }
101
+ :ENVIRONMENT . { [:GARBAGE, text]; }
102
+
103
+ #
104
+ ### GIT
105
+ #
106
+ :GIT external\b { [:EXTERNAL, text]; }
107
+ :GIT track-branch\b { [:TRACK_BRANCH, text]; }
108
+ :GIT remote\b { @states.push @state; @state = :REMOTE; [:REMOTE, text]; }
109
+ :GIT end\b { @state = @states.pop; [ :END, text ]; }
110
+ # COMMON
111
+ :GIT {STRING} { [:STRING, @ss[1]]; }
112
+ :GIT {TOKEN} { [:TOKEN, text]; }
113
+ :GIT {COMMENT} { [:COMMENT, text]; }
114
+ :GIT {BLANK} { [:IGNORE, text]; }
115
+ :GIT {LF} { [:IGNORE, text]; }
116
+ :GIT {STRINGERROR} { [:GARBAGE, text]; }
117
+ :GIT . { [:GARBAGE, text]; }
118
+
119
+ #
120
+ ### MODULE
121
+ #
122
+ :MODULE build-prefix\b { [:BUILD_PREFIX, text]; }
123
+ :MODULE {INHERITANCE} { [:INHERITANCE, text]; }
124
+ :MODULE install-prefix\b { [:INSTALL_PREFIX, text]; }
125
+ :MODULE local-path\b { [:LOCAL_PATH, text]; }
126
+ :MODULE remote-path\b { [:REMOTE_PATH, text]; }
127
+ :MODULE TEMPLATE\b { [:TEMPLATE, text]; }
128
+
129
+ :MODULE build-system\b { @states.push @state; @state = :BUILD_SYSTEM; [:BUILD_SYSTEM, text]; }
130
+ :MODULE environment\b { @states.push @state; @state = :ENVIRONMENT; [:ENVIRONMENT, text]; }
131
+ :MODULE repository\b { @states.push @state; @state = :REPOSITORY; [:REPOSITORY, text]; }
132
+ :MODULE use\b { @states.push @state; @state = :USE; [:USE, text]; }
133
+ :MODULE vcs\b { @states.push @state; @state = :VCS; [:VCS, text]; }
134
+
135
+ :MODULE end\b { @state = @states.pop; [:END, text]; }
136
+ # COMMON
137
+ :MODULE {STRING} { [:STRING, @ss[1]]; }
138
+ :MODULE {TOKEN} { [:TOKEN, text]; }
139
+ :MODULE {COMMENT} { [:COMMENT, text]; }
140
+ :MODULE {BLANK} { [:IGNORE, text]; }
141
+ :MODULE {LF} { [:IGNORE, text]; }
142
+ :MODULE {STRINGERROR} { [:GARBAGE, text]; }
143
+ :MODULE . { [:GARBAGE, text]; }
144
+
145
+ #
146
+ ### REMOTE
147
+ #
148
+ :REMOTE path\b { [:PATH, text]; }
149
+ :REMOTE server\b { @states.push @state; @state = :SERVER; [:SERVER, text]; }
150
+ :REMOTE use\b { @states.push @state; @state = :USE; [:USE, text]; }
151
+ :REMOTE end\b { @state = @states.pop; [ :END, text ]; }
152
+ # COMMON
153
+ :REMOTE {STRING} { [:STRING, @ss[1]]; }
154
+ :REMOTE {TOKEN} { [:TOKEN, text]; }
155
+ :REMOTE {COMMENT} { [:COMMENT, text]; }
156
+ :REMOTE {BLANK} { [:IGNORE, text]; }
157
+ :REMOTE {LF} { [:IGNORE, text]; }
158
+ :REMOTE {STRINGERROR} { [:GARBAGE, text]; }
159
+ :REMOTE . { [:GARBAGE, text]; }
160
+
161
+ #
162
+ ### REPOSITORY
163
+ #
164
+ :REPOSITORY server\b { [:SERVER, text]; }
165
+ :REPOSITORY path\b { [:PATH, text]; }
166
+ :REPOSITORY user\b { [:USER, text]; }
167
+ :REPOSITORY ssh-key { @states.push @state; @state = :SSH_KEY; [:SSH_KEY, text]; }
168
+ :REPOSITORY use\b { @states.push @state; @state = :USE; [:USE, text]; }
169
+ :REPOSITORY end { @state = @states.pop; [:END, text]; }
170
+ # COMMON
171
+ :REPOSITORY {STRING} { [:STRING, @ss[1]]; }
172
+ :REPOSITORY {TOKEN} { [:TOKEN, text]; }
173
+ :REPOSITORY {COMMENT} { [:COMMENT, text]; }
174
+ :REPOSITORY {BLANK} { [:IGNORE, text]; }
175
+ :REPOSITORY {LF} { [:IGNORE, text]; }
176
+ :REPOSITORY {STRINGERROR} { [:GARBAGE, text]; }
177
+ :REPOSITORY . { [:GARBAGE, text]; }
178
+
179
+ #
180
+ ### SERVER
181
+ #
182
+ :SERVER protocol\b { [:PROTOCOL, text]; }
183
+ :SERVER server\b { [:SERVER, text]; }
184
+ :SERVER path\b { [:PATH, text]; }
185
+ :SERVER host\b { [:HOST, text]; }
186
+ :SERVER end\b { @state = @states.pop; [:END, text]; }
187
+ # COMMON
188
+ :SERVER {STRING} { [:STRING, @ss[1]]; }
189
+ :SERVER {TOKEN} { [:TOKEN, text]; }
190
+ :SERVER {COMMENT} { [:COMMENT, text]; }
191
+ :SERVER {BLANK} { [:IGNORE, text]; }
192
+ :SERVER {LF} { [:IGNORE, text]; }
193
+ :SERVER {STRINGERROR} { [:GARBAGE, text]; }
194
+ :SERVER . { [:GARBAGE, text]; }
195
+
196
+ #
197
+ ### SSH KEY
198
+ #
199
+ :SSH_KEY file\b { [:FILE, text]; }
200
+ :SSH_KEY end\b { @state = @states.pop; [:END, text]; }
201
+ # COMMON
202
+ :SSH_KEY {STRING} { [:STRING, @ss[1]]; }
203
+ :SSH_KEY {TOKEN} { [:TOKEN, text]; }
204
+ :SSH_KEY {COMMENT} { [:COMMENT, text]; }
205
+ :SSH_KEY {BLANK} { [:IGNORE, text]; }
206
+ :SSH_KEY {LF} { [:IGNORE, text]; }
207
+ :SSH_KEY {STRINGERROR} { [:GARBAGE, text]; }
208
+ :SSH_KEY . { [:GARBAGE, text]; }
209
+
210
+ #
211
+ ### USE
212
+ #
213
+ :USE build-system\b { @state = @states.pop; [:BUILD_SYSTEM, text]; }
214
+ :USE environment\b { @state = @states.pop; [:ENVIRONMENT, text]; }
215
+ :USE repository\b { @state = @states.pop; [:REPOSITORY, text]; }
216
+ :USE server\b { @state = @states.pop; [:SERVER, text]; }
217
+ :USE ssh-key\b { @state = @states.pop; [:SSH_KEY, text]; }
218
+ :USE vcs\b { @state = @states.pop; [:VCS, text]; }
219
+ # COMMON
220
+ :USE {STRING} { [:STRING, @ss[1]]; }
221
+ :USE {TOKEN} { [:TOKEN, text]; }
222
+ :USE {COMMENT} { [:COMMENT, text]; }
223
+ :USE {BLANK} { [:IGNORE, text]; }
224
+ :USE {LF} { [:IGNORE, text]; }
225
+ :USE {STRINGERROR} { [:GARBAGE, text]; }
226
+ :USE . { [:GARBAGE, text]; }
227
+
228
+ #
229
+ ### VCS
230
+ #
231
+ :VCS git-svn\b { @state = :GIT; [:GIT_SVN, text]; }
232
+ :VCS git\b { @state = :GIT; [:GIT, text]; }
233
+ # COMMON
234
+ :VCS {STRING} { [:STRING, @ss[1]]; }
235
+ :VCS {TOKEN} { [:TOKEN, text]; }
236
+ :VCS {COMMENT} { [:COMMENT, text]; }
237
+ :VCS {BLANK} { [:IGNORE, text]; }
238
+ :VCS {LF} { [:IGNORE, text]; }
239
+ :VCS {STRINGERROR} { [:GARBAGE, text]; }
240
+ :VCS . { [:GARBAGE, text]; }
241
+
242
+
243
+ end # class BuildTool::Cfg::GitLexer
244
+
245
+ #
246
+ ### FOOTER
247
+ #
248
+
@@ -0,0 +1,82 @@
1
+ require 'racc/parser'
2
+
3
+ module BuildTool; module Cfg;
4
+
5
+ #
6
+ # Base class for all lexer.
7
+ #
8
+ module LexerBase
9
+
10
+ module ClassMethods; end
11
+
12
+ def self.included( klass )
13
+ klass.extend( ClassMethods )
14
+ klass.module_eval do
15
+ alias_method( :rex_next_token, :next_token )
16
+ remove_method( :next_token )
17
+ end
18
+ end
19
+
20
+ class ScanError < StandardError
21
+ attr_accessor :lineno
22
+ attr_accessor :filename
23
+ def to_s
24
+ "#{filename}[#{lineno}]: #{super}"
25
+ end
26
+ end
27
+
28
+ def peek( len )
29
+ @ss.peek( len )
30
+ end
31
+
32
+ def pre_match
33
+ # *TODO* Improve context
34
+ @ss.pre_match()[-20,20]
35
+ end
36
+
37
+ def next_token
38
+ begin
39
+ token = rex_next_token
40
+ # puts "#{state.inspect}##{token.inspect} #{lineno}"
41
+ case token[0]
42
+ when :IGNORE; redo
43
+ when :COMMENT; redo
44
+ when :GARBAGE; raise StandardError.new("can not match: '#{token[1]}' near '#{pre_match()}'")
45
+ else break
46
+ end if !token.nil?
47
+ break
48
+ end while true
49
+ return token
50
+ rescue StandardError => e
51
+ error = ScanError.new(e.to_s)
52
+ error.lineno = lineno
53
+ error.filename = filename
54
+ raise error
55
+ end
56
+
57
+ def on_error( error_token_id, error_value, value_stack )
58
+ token_name = token_to_str( error_token_id )
59
+ token_name.downcase!
60
+ token = error_value.to_s.inspect
61
+
62
+ str = 'parse error on value '
63
+ str << '"' << token_name << '" ' unless token_name == token
64
+ str << token
65
+ error(str)
66
+ end
67
+
68
+ def error( str )
69
+ if !instance_variable_defined?( "@filename" )
70
+ @filename = "<unknown>"
71
+ end
72
+ raise ParseError, "#{filename}[#{lineno}] #{str}"
73
+ end
74
+
75
+ def parse_string( str, filename = "<string>" )
76
+ @filename = filename
77
+ scan_str( str )
78
+ end
79
+
80
+ end # module LexerBase
81
+
82
+ end; end; # module BuildTool::Cfg
@@ -0,0 +1,94 @@
1
+ require 'mj/visitor'
2
+
3
+ module BuildTool; module Cfg;
4
+
5
+ #
6
+ #
7
+ #
8
+ class Node < MJ::Visitable
9
+
10
+ attr_accessor :values
11
+
12
+ def value
13
+ values
14
+ #raise StandardError, "1 Value expected.#{values.length} values found!."
15
+ end
16
+
17
+ def initialize(values = nil)
18
+ @values = values
19
+ end
20
+
21
+ end # class Node
22
+
23
+ %w[
24
+ BuildSystemDeclaration
25
+ BuildSystemOption
26
+ BuildSystemInplace
27
+
28
+ EnvironmentDeclaration
29
+ EnvironmentVariable
30
+
31
+ GitSvnDeclaration
32
+
33
+ GitDeclaration
34
+ GitRemote
35
+ GitRemotePath
36
+ GitServer
37
+ GitTrackBranch
38
+
39
+ GitSvnExternal
40
+
41
+ LogDirectory
42
+
43
+ ModuleBuildPrefix
44
+ ModuleDeclaration
45
+ ModuleInstallPrefix
46
+ ModuleLocalPath
47
+ ModuleRemotePath
48
+ ModuleTemplate
49
+
50
+ RepositoryDeclaration
51
+ RepositoryPath
52
+ RepositoryServer
53
+ RepositoryUser
54
+
55
+ ServerDeclaration
56
+ ServerHost
57
+ ServerPath
58
+ ServerProtocol
59
+
60
+ SshKeyDeclaration
61
+ SshKeyFile
62
+
63
+ UseBuildSystem
64
+ UseEnvironment
65
+ UseRepository
66
+ UseServer
67
+ UseSshKey
68
+ UseVcs
69
+
70
+ ].each do |type|
71
+
72
+ eval "class #{type}Node < Node; end"
73
+
74
+ end
75
+
76
+
77
+ class NodeList < Node
78
+ end
79
+
80
+ %w[
81
+ GitRemoteValue
82
+
83
+ ConfigurationFile
84
+
85
+ ServerStatement
86
+ ].each do |type|
87
+
88
+ eval "class #{type}List < NodeList; end"
89
+
90
+ end
91
+
92
+
93
+ end; end; # module BuildTool::Cfg
94
+
@@ -0,0 +1,871 @@
1
+ #
2
+ # DO NOT MODIFY!!!!
3
+ # This file is automatically generated by Racc 1.4.6
4
+ # from Racc grammer file "".
5
+ #
6
+
7
+ require 'racc/parser.rb'
8
+
9
+ #
10
+ ### HEADER
11
+ #
12
+ require 'build-tool/cfg/lexer'
13
+ require 'build-tool/cfg/node'
14
+ require 'build-tool/cfg/visitor'
15
+
16
+
17
+ module BuildTool
18
+ module Cfg
19
+ class Parser < BuildTool::Cfg::Lexer
20
+
21
+ module_eval(<<'...end parser.y/module_eval...', 'parser.y', 257)
22
+ #
23
+ ### INNER
24
+ #
25
+ attr_accessor :configuration
26
+
27
+ def initialize( configuration = Configuration.new)
28
+ super()
29
+ @configuration = configuration
30
+ end
31
+
32
+ def parse_string( string, file = "<string>" )
33
+ tree = super
34
+ visitor = Cfg::ConfigurationFileVisitor.new( configuration )
35
+ conf = tree.accept( visitor )
36
+ return configuration
37
+ end
38
+
39
+ ...end parser.y/module_eval...
40
+ ##### State transition tables begin ###
41
+
42
+ racc_action_table = [
43
+ 66, 8, 86, 16, 66, 8, 6, 16, 113, 64,
44
+ 114, 67, 68, 123, 54, 67, 68, 99, 54, 55,
45
+ 63, 3, 64, 55, 63, 3, 70, 95, 112, 75,
46
+ 70, 101, 4, 75, 66, 8, 4, 16, 8, 111,
47
+ 16, 44, 6, 61, 76, 67, 68, 24, 25, 123,
48
+ 13, 15, 44, 130, 63, 3, 41, 44, 3, 6,
49
+ 70, 11, 8, 75, 16, 45, 4, 41, 22, 4,
50
+ 23, 132, 41, 44, 13, 15, 45, 131, 37, 49,
51
+ 103, 45, 3, 6, 35, 11, 11, 51, 41, 52,
52
+ 37, 40, 34, 4, 104, 105, 35, 45, 11, 49,
53
+ 22, 106, 23, 40, 34, 107, 22, 51, 23, 52,
54
+ 22, 22, 23, 23, 22, 22, 23, 23, 22, 22,
55
+ 23, 23, 22, 22, 23, 23, 22, 22, 23, 23,
56
+ 22, 22, 23, 23, 22, 22, 23, 23, 108, 93,
57
+ 91, 90, 115, 89, 117, 87, 96, 85, 124, 83,
58
+ 82, 61, 58, 30, 28, 76, 134, 97, 136, 137,
59
+ 138, 139, 140, 141, 76 ]
60
+
61
+ racc_action_check = [
62
+ 31, 31, 41, 31, 71, 71, 122, 71, 75, 31,
63
+ 75, 31, 31, 122, 27, 71, 71, 56, 57, 27,
64
+ 31, 31, 32, 57, 71, 71, 31, 51, 75, 31,
65
+ 71, 59, 31, 71, 110, 110, 71, 110, 0, 75,
66
+ 0, 48, 86, 60, 32, 110, 110, 4, 4, 86,
67
+ 0, 0, 25, 115, 110, 110, 48, 43, 0, 0,
68
+ 110, 0, 18, 110, 18, 48, 110, 25, 34, 0,
69
+ 34, 115, 43, 24, 18, 18, 25, 115, 21, 50,
70
+ 61, 43, 18, 18, 21, 18, 21, 50, 24, 50,
71
+ 39, 21, 21, 18, 63, 66, 39, 24, 39, 26,
72
+ 35, 67, 35, 39, 39, 68, 111, 26, 111, 26,
73
+ 6, 112, 6, 112, 113, 85, 113, 85, 55, 16,
74
+ 55, 16, 77, 15, 77, 15, 72, 114, 72, 114,
75
+ 3, 11, 3, 11, 8, 136, 8, 136, 69, 49,
76
+ 47, 45, 76, 44, 78, 42, 52, 40, 98, 38,
77
+ 37, 29, 28, 13, 10, 116, 120, 53, 123, 125,
78
+ 130, 131, 132, 133, 79 ]
79
+
80
+ racc_action_pointer = [
81
+ 34, nil, nil, 102, 38, nil, 82, nil, 106, nil,
82
+ 154, 103, nil, 125, nil, 95, 91, nil, 58, nil,
83
+ nil, 59, nil, nil, 66, 45, 88, 1, 152, 143,
84
+ nil, -3, 10, nil, 40, 72, nil, 122, 144, 71,
85
+ 120, -26, 140, 50, 115, 113, nil, 135, 34, 111,
86
+ 68, -1, 118, 152, nil, 90, 12, 5, nil, 26,
87
+ 35, 52, nil, 66, nil, nil, 67, 73, 77, 133,
88
+ nil, 1, 98, nil, nil, 4, 112, 94, 139, 130,
89
+ nil, nil, nil, nil, nil, 87, 17, nil, nil, nil,
90
+ nil, nil, nil, nil, nil, nil, nil, nil, 120, nil,
91
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
92
+ 31, 78, 83, 86, 99, 51, 121, nil, nil, nil,
93
+ 151, nil, -19, 133, nil, 154, nil, nil, nil, nil,
94
+ 132, 133, 134, 158, nil, nil, 107, nil, nil, nil,
95
+ nil, nil, nil ]
96
+
97
+ racc_action_default = [
98
+ -5, -10, -11, -78, -78, -12, -78, -13, -78, -14,
99
+ -78, -78, -15, -78, -1, -78, -78, -16, -5, -8,
100
+ -9, -61, -2, -3, -30, -40, -69, -18, -78, -75,
101
+ -7, -45, -24, -6, -78, -78, -67, -78, -78, -61,
102
+ -78, -78, -78, -30, -78, -78, -42, -78, -40, -78,
103
+ -69, -78, -78, -78, -21, -78, -78, -18, 143, -78,
104
+ -75, -78, -52, -78, -4, -53, -78, -78, -78, -78,
105
+ -59, -45, -78, -51, -54, -78, -78, -78, -78, -24,
106
+ -65, -63, -64, -60, -62, -78, -35, -29, -31, -34,
107
+ -33, -39, -41, -71, -70, -73, -72, -68, -78, -17,
108
+ -19, -74, -76, -77, -57, -56, -55, -58, -43, -46,
109
+ -45, -78, -78, -78, -78, -78, -24, -22, -25, -66,
110
+ -78, -37, -35, -78, -20, -78, -50, -49, -47, -48,
111
+ -78, -78, -78, -78, -32, -36, -78, -44, -28, -26,
112
+ -27, -23, -38 ]
113
+
114
+ racc_goto_table = [
115
+ 21, 78, 69, 26, 121, 27, 59, 120, 29, 56,
116
+ 53, 42, 31, 32, 10, 46, nil, 5, 47, 72,
117
+ 77, nil, nil, nil, nil, nil, 20, 19, 1, 36,
118
+ 88, 80, 81, 38, 94, 5, 14, 102, 46, 100,
119
+ 121, 92, 109, 135, 20, 19, 1, 36, 118, nil,
120
+ nil, 84, 98, nil, 33, nil, nil, nil, nil, nil,
121
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 110,
122
+ nil, nil, nil, nil, 116, nil, nil, nil, nil, nil,
123
+ nil, 125, 119, nil, nil, 133, nil, nil, nil, nil,
124
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
125
+ nil, nil, nil, nil, nil, nil, nil, nil, 126, 127,
126
+ 128, 129, nil, nil, nil, nil, nil, nil, nil, nil,
127
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
128
+ nil, nil, nil, 142 ]
129
+
130
+ racc_goto_check = [
131
+ 3, 17, 25, 3, 11, 3, 31, 21, 3, 15,
132
+ 29, 19, 3, 3, 1, 20, nil, 10, 23, 4,
133
+ 4, nil, nil, nil, nil, nil, 7, 6, 8, 12,
134
+ 19, 3, 3, 27, 29, 10, 2, 31, 20, 15,
135
+ 11, 23, 25, 21, 7, 6, 8, 12, 17, nil,
136
+ nil, 27, 3, nil, 2, nil, nil, nil, nil, nil,
137
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, 3,
138
+ nil, nil, nil, nil, 3, nil, nil, nil, nil, nil,
139
+ nil, 25, 3, nil, nil, 17, nil, nil, nil, nil,
140
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
141
+ nil, nil, nil, nil, nil, nil, nil, nil, 3, 3,
142
+ 3, 3, nil, nil, nil, nil, nil, nil, nil, nil,
143
+ nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
144
+ nil, nil, nil, 3 ]
145
+
146
+ racc_goto_pointer = [
147
+ nil, 14, 36, -3, -12, nil, 27, 26, 28, nil,
148
+ 17, -82, 8, nil, nil, -18, nil, -31, nil, -13,
149
+ -10, -79, nil, -7, nil, -29, nil, 12, nil, -16,
150
+ nil, -23, nil ]
151
+
152
+ racc_goto_default = [
153
+ nil, nil, nil, nil, nil, 18, 73, 74, 62, 2,
154
+ 65, 7, 9, 12, 17, nil, 57, nil, 79, nil,
155
+ 43, nil, 122, nil, 48, nil, 71, nil, 39, nil,
156
+ 50, nil, 60 ]
157
+
158
+ racc_reduce_table = [
159
+ 0, 0, :racc_error,
160
+ 1, 37, :_reduce_1,
161
+ 1, 39, :_reduce_2,
162
+ 1, 39, :_reduce_3,
163
+ 1, 40, :_reduce_4,
164
+ 0, 38, :_reduce_none,
165
+ 2, 38, :_reduce_6,
166
+ 2, 41, :_reduce_7,
167
+ 1, 41, :_reduce_8,
168
+ 1, 41, :_reduce_9,
169
+ 1, 41, :_reduce_10,
170
+ 1, 41, :_reduce_11,
171
+ 1, 41, :_reduce_12,
172
+ 1, 41, :_reduce_13,
173
+ 1, 41, :_reduce_14,
174
+ 1, 44, :_reduce_15,
175
+ 1, 44, :_reduce_16,
176
+ 4, 42, :_reduce_17,
177
+ 0, 51, :_reduce_none,
178
+ 2, 51, :_reduce_19,
179
+ 3, 52, :_reduce_20,
180
+ 1, 52, :_reduce_21,
181
+ 4, 43, :_reduce_22,
182
+ 6, 43, :_reduce_23,
183
+ 0, 53, :_reduce_none,
184
+ 2, 53, :_reduce_25,
185
+ 4, 54, :_reduce_26,
186
+ 4, 54, :_reduce_27,
187
+ 4, 54, :_reduce_28,
188
+ 4, 49, :_reduce_29,
189
+ 0, 55, :_reduce_none,
190
+ 2, 55, :_reduce_31,
191
+ 4, 56, :_reduce_32,
192
+ 2, 56, :_reduce_33,
193
+ 2, 56, :_reduce_34,
194
+ 0, 57, :_reduce_none,
195
+ 2, 57, :_reduce_36,
196
+ 1, 58, :_reduce_37,
197
+ 3, 58, :_reduce_38,
198
+ 4, 50, :_reduce_39,
199
+ 0, 59, :_reduce_none,
200
+ 2, 59, :_reduce_41,
201
+ 1, 60, :_reduce_none,
202
+ 4, 45, :_reduce_43,
203
+ 6, 45, :_reduce_44,
204
+ 0, 61, :_reduce_none,
205
+ 2, 61, :_reduce_46,
206
+ 3, 62, :_reduce_47,
207
+ 3, 62, :_reduce_48,
208
+ 3, 62, :_reduce_49,
209
+ 3, 62, :_reduce_50,
210
+ 1, 62, :_reduce_51,
211
+ 1, 62, :_reduce_52,
212
+ 1, 62, :_reduce_53,
213
+ 1, 62, :_reduce_54,
214
+ 2, 62, :_reduce_55,
215
+ 2, 62, :_reduce_56,
216
+ 2, 62, :_reduce_57,
217
+ 2, 62, :_reduce_58,
218
+ 1, 62, :_reduce_59,
219
+ 4, 46, :_reduce_60,
220
+ 0, 63, :_reduce_none,
221
+ 2, 63, :_reduce_62,
222
+ 2, 64, :_reduce_63,
223
+ 2, 64, :_reduce_64,
224
+ 2, 64, :_reduce_65,
225
+ 3, 64, :_reduce_66,
226
+ 1, 64, :_reduce_67,
227
+ 4, 47, :_reduce_68,
228
+ 0, 65, :_reduce_none,
229
+ 2, 65, :_reduce_70,
230
+ 2, 66, :_reduce_71,
231
+ 2, 66, :_reduce_72,
232
+ 2, 66, :_reduce_73,
233
+ 4, 48, :_reduce_74,
234
+ 0, 67, :_reduce_none,
235
+ 2, 67, :_reduce_76,
236
+ 2, 68, :_reduce_77 ]
237
+
238
+ racc_reduce_n = 78
239
+
240
+ racc_shift_n = 143
241
+
242
+ racc_token_table = {
243
+ false => 0,
244
+ :error => 1,
245
+ :APPEND => 2,
246
+ :BUILD_PREFIX => 3,
247
+ :BUILD_SYSTEM => 4,
248
+ :END => 5,
249
+ :ENVIRONMENT => 6,
250
+ :EXTERNAL => 7,
251
+ :FILE => 8,
252
+ :GIT => 9,
253
+ :GIT_SVN => 10,
254
+ :HOST => 11,
255
+ :INHERITANCE => 12,
256
+ :INPLACE => 13,
257
+ :INSTALL_PREFIX => 14,
258
+ :LOCAL_PATH => 15,
259
+ :LOG_DIRECTORY => 16,
260
+ :MODULE => 17,
261
+ :OPTION => 18,
262
+ :PATH => 19,
263
+ :PREPEND => 20,
264
+ :PROTOCOL => 21,
265
+ :REMOTE => 22,
266
+ :REMOTE_PATH => 23,
267
+ :REPOSITORY => 24,
268
+ :SERVER => 25,
269
+ :SET => 26,
270
+ :SSH_KEY => 27,
271
+ :STRING => 28,
272
+ :TEMPLATE => 29,
273
+ :TOKEN => 30,
274
+ :TRACK_BRANCH => 31,
275
+ :USE => 32,
276
+ :USER => 33,
277
+ :VAR => 34,
278
+ :VCS => 35 }
279
+
280
+ racc_nt_base = 36
281
+
282
+ racc_use_result_var = true
283
+
284
+ Racc_arg = [
285
+ racc_action_table,
286
+ racc_action_check,
287
+ racc_action_default,
288
+ racc_action_pointer,
289
+ racc_goto_table,
290
+ racc_goto_check,
291
+ racc_goto_default,
292
+ racc_goto_pointer,
293
+ racc_nt_base,
294
+ racc_reduce_table,
295
+ racc_token_table,
296
+ racc_shift_n,
297
+ racc_reduce_n,
298
+ racc_use_result_var ]
299
+
300
+ Racc_token_to_s_table = [
301
+ "$end",
302
+ "error",
303
+ "APPEND",
304
+ "BUILD_PREFIX",
305
+ "BUILD_SYSTEM",
306
+ "END",
307
+ "ENVIRONMENT",
308
+ "EXTERNAL",
309
+ "FILE",
310
+ "GIT",
311
+ "GIT_SVN",
312
+ "HOST",
313
+ "INHERITANCE",
314
+ "INPLACE",
315
+ "INSTALL_PREFIX",
316
+ "LOCAL_PATH",
317
+ "LOG_DIRECTORY",
318
+ "MODULE",
319
+ "OPTION",
320
+ "PATH",
321
+ "PREPEND",
322
+ "PROTOCOL",
323
+ "REMOTE",
324
+ "REMOTE_PATH",
325
+ "REPOSITORY",
326
+ "SERVER",
327
+ "SET",
328
+ "SSH_KEY",
329
+ "STRING",
330
+ "TEMPLATE",
331
+ "TOKEN",
332
+ "TRACK_BRANCH",
333
+ "USE",
334
+ "USER",
335
+ "VAR",
336
+ "VCS",
337
+ "$start",
338
+ "main",
339
+ "statements",
340
+ "identifier",
341
+ "inheritance",
342
+ "statement",
343
+ "build_system_declaration",
344
+ "environment_declaration",
345
+ "vcs_declaration",
346
+ "module_declaration",
347
+ "repository_declaration",
348
+ "server_declaration",
349
+ "ssh_key_declaration",
350
+ "git_declaration",
351
+ "git_svn_declaration",
352
+ "build_system_statements",
353
+ "build_system_statement",
354
+ "environment_statements",
355
+ "environment_statement",
356
+ "git_statements",
357
+ "git_statement",
358
+ "git_remote_values",
359
+ "git_remote_value",
360
+ "git_svn_statements",
361
+ "git_svn_statement",
362
+ "module_statements",
363
+ "module_statement",
364
+ "repository_statements",
365
+ "repository_statement",
366
+ "server_statements",
367
+ "server_statement",
368
+ "ssh_key_statements",
369
+ "ssh_key_statement" ]
370
+
371
+ Racc_debug_parser = false
372
+
373
+ ##### State transition tables end #####
374
+
375
+ # reduce 0 omitted
376
+
377
+ module_eval(<<'.,.,', 'parser.y', 40)
378
+ def _reduce_1(val, _values, result)
379
+ result = ConfigurationFileList.new( val[0] );
380
+ result
381
+ end
382
+ .,.,
383
+
384
+ module_eval(<<'.,.,', 'parser.y', 48)
385
+ def _reduce_2(val, _values, result)
386
+ result = val[0];
387
+ result
388
+ end
389
+ .,.,
390
+
391
+ module_eval(<<'.,.,', 'parser.y', 49)
392
+ def _reduce_3(val, _values, result)
393
+ result = val[0];
394
+ result
395
+ end
396
+ .,.,
397
+
398
+ module_eval(<<'.,.,', 'parser.y', 53)
399
+ def _reduce_4(val, _values, result)
400
+ result = :INHERITANCE;
401
+ result
402
+ end
403
+ .,.,
404
+
405
+ # reduce 5 omitted
406
+
407
+ module_eval(<<'.,.,', 'parser.y', 61)
408
+ def _reduce_6(val, _values, result)
409
+ result = val.flatten;
410
+ result
411
+ end
412
+ .,.,
413
+
414
+ module_eval(<<'.,.,', 'parser.y', 65)
415
+ def _reduce_7(val, _values, result)
416
+ result = LogDirectoryNode.new( val[1] );
417
+ result
418
+ end
419
+ .,.,
420
+
421
+ module_eval(<<'.,.,', 'parser.y', 66)
422
+ def _reduce_8(val, _values, result)
423
+ result = val[0];
424
+ result
425
+ end
426
+ .,.,
427
+
428
+ module_eval(<<'.,.,', 'parser.y', 67)
429
+ def _reduce_9(val, _values, result)
430
+ result = val[0];
431
+ result
432
+ end
433
+ .,.,
434
+
435
+ module_eval(<<'.,.,', 'parser.y', 68)
436
+ def _reduce_10(val, _values, result)
437
+ result = val[0];
438
+ result
439
+ end
440
+ .,.,
441
+
442
+ module_eval(<<'.,.,', 'parser.y', 69)
443
+ def _reduce_11(val, _values, result)
444
+ result = val[0];
445
+ result
446
+ end
447
+ .,.,
448
+
449
+ module_eval(<<'.,.,', 'parser.y', 70)
450
+ def _reduce_12(val, _values, result)
451
+ result = val[0];
452
+ result
453
+ end
454
+ .,.,
455
+
456
+ module_eval(<<'.,.,', 'parser.y', 71)
457
+ def _reduce_13(val, _values, result)
458
+ result = val[0];
459
+ result
460
+ end
461
+ .,.,
462
+
463
+ module_eval(<<'.,.,', 'parser.y', 72)
464
+ def _reduce_14(val, _values, result)
465
+ result = val[0];
466
+ result
467
+ end
468
+ .,.,
469
+
470
+ module_eval(<<'.,.,', 'parser.y', 76)
471
+ def _reduce_15(val, _values, result)
472
+ result = val[0];
473
+ result
474
+ end
475
+ .,.,
476
+
477
+ module_eval(<<'.,.,', 'parser.y', 77)
478
+ def _reduce_16(val, _values, result)
479
+ result = val[0];
480
+ result
481
+ end
482
+ .,.,
483
+
484
+ module_eval(<<'.,.,', 'parser.y', 84)
485
+ def _reduce_17(val, _values, result)
486
+ result = BuildSystemDeclarationNode.new( val[1,2] );
487
+ result
488
+ end
489
+ .,.,
490
+
491
+ # reduce 18 omitted
492
+
493
+ module_eval(<<'.,.,', 'parser.y', 89)
494
+ def _reduce_19(val, _values, result)
495
+ result = val.flatten;
496
+ result
497
+ end
498
+ .,.,
499
+
500
+ module_eval(<<'.,.,', 'parser.y', 93)
501
+ def _reduce_20(val, _values, result)
502
+ result = BuildSystemOptionNode.new( val[1,2] );
503
+ result
504
+ end
505
+ .,.,
506
+
507
+ module_eval(<<'.,.,', 'parser.y', 94)
508
+ def _reduce_21(val, _values, result)
509
+ result = BuildSystemInplaceNode.new();
510
+ result
511
+ end
512
+ .,.,
513
+
514
+ module_eval(<<'.,.,', 'parser.y', 101)
515
+ def _reduce_22(val, _values, result)
516
+ result = EnvironmentDeclarationNode.new( val[1..-1] );
517
+ result
518
+ end
519
+ .,.,
520
+
521
+ module_eval(<<'.,.,', 'parser.y', 102)
522
+ def _reduce_23(val, _values, result)
523
+ result = EnvironmentDeclarationNode.new( val[1..-1] );
524
+ result
525
+ end
526
+ .,.,
527
+
528
+ # reduce 24 omitted
529
+
530
+ module_eval(<<'.,.,', 'parser.y', 107)
531
+ def _reduce_25(val, _values, result)
532
+ result = val.flatten;
533
+ result
534
+ end
535
+ .,.,
536
+
537
+ module_eval(<<'.,.,', 'parser.y', 111)
538
+ def _reduce_26(val, _values, result)
539
+ result = EnvironmentVariableNode.new( val[1..-1] );
540
+ result
541
+ end
542
+ .,.,
543
+
544
+ module_eval(<<'.,.,', 'parser.y', 112)
545
+ def _reduce_27(val, _values, result)
546
+ result = EnvironmentVariableNode.new( val[1..-1] );
547
+ result
548
+ end
549
+ .,.,
550
+
551
+ module_eval(<<'.,.,', 'parser.y', 113)
552
+ def _reduce_28(val, _values, result)
553
+ result = EnvironmentVariableNode.new( val[1..-1] );
554
+ result
555
+ end
556
+ .,.,
557
+
558
+ module_eval(<<'.,.,', 'parser.y', 120)
559
+ def _reduce_29(val, _values, result)
560
+ result = GitDeclarationNode.new( val[2] );
561
+ result
562
+ end
563
+ .,.,
564
+
565
+ # reduce 30 omitted
566
+
567
+ module_eval(<<'.,.,', 'parser.y', 125)
568
+ def _reduce_31(val, _values, result)
569
+ result = val.flatten;
570
+ result
571
+ end
572
+ .,.,
573
+
574
+ module_eval(<<'.,.,', 'parser.y', 129)
575
+ def _reduce_32(val, _values, result)
576
+ result = GitRemoteNode.new( [ val[1], GitRemoteValueList.new( val[2] ) ] );
577
+ result
578
+ end
579
+ .,.,
580
+
581
+ module_eval(<<'.,.,', 'parser.y', 130)
582
+ def _reduce_33(val, _values, result)
583
+ result = GitTrackBranchNode.new( val[1] );
584
+ result
585
+ end
586
+ .,.,
587
+
588
+ module_eval(<<'.,.,', 'parser.y', 131)
589
+ def _reduce_34(val, _values, result)
590
+ result = GitSvnExternalNode.new( val[1] );
591
+ result
592
+ end
593
+ .,.,
594
+
595
+ # reduce 35 omitted
596
+
597
+ module_eval(<<'.,.,', 'parser.y', 136)
598
+ def _reduce_36(val, _values, result)
599
+ result = val.flatten;
600
+ result
601
+ end
602
+ .,.,
603
+
604
+ module_eval(<<'.,.,', 'parser.y', 140)
605
+ def _reduce_37(val, _values, result)
606
+ result = val[0];
607
+ result
608
+ end
609
+ .,.,
610
+
611
+ module_eval(<<'.,.,', 'parser.y', 141)
612
+ def _reduce_38(val, _values, result)
613
+ result = UseServerNode.new( val[2] );
614
+ result
615
+ end
616
+ .,.,
617
+
618
+ module_eval(<<'.,.,', 'parser.y', 148)
619
+ def _reduce_39(val, _values, result)
620
+ result = GitSvnDeclarationNode.new( val[2] );
621
+ result
622
+ end
623
+ .,.,
624
+
625
+ # reduce 40 omitted
626
+
627
+ module_eval(<<'.,.,', 'parser.y', 153)
628
+ def _reduce_41(val, _values, result)
629
+ result = val.flatten;
630
+ result
631
+ end
632
+ .,.,
633
+
634
+ # reduce 42 omitted
635
+
636
+ module_eval(<<'.,.,', 'parser.y', 164)
637
+ def _reduce_43(val, _values, result)
638
+ result = ModuleDeclarationNode.new( val[1..-1] );
639
+ result
640
+ end
641
+ .,.,
642
+
643
+ module_eval(<<'.,.,', 'parser.y', 165)
644
+ def _reduce_44(val, _values, result)
645
+ result = ModuleDeclarationNode.new( val[1..-1] );
646
+ result
647
+ end
648
+ .,.,
649
+
650
+ # reduce 45 omitted
651
+
652
+ module_eval(<<'.,.,', 'parser.y', 170)
653
+ def _reduce_46(val, _values, result)
654
+ result = val.flatten;
655
+ result
656
+ end
657
+ .,.,
658
+
659
+ module_eval(<<'.,.,', 'parser.y', 174)
660
+ def _reduce_47(val, _values, result)
661
+ result = UseBuildSystemNode.new( val[2] );
662
+ result
663
+ end
664
+ .,.,
665
+
666
+ module_eval(<<'.,.,', 'parser.y', 175)
667
+ def _reduce_48(val, _values, result)
668
+ result = UseEnvironmentNode.new( val[2] );
669
+ result
670
+ end
671
+ .,.,
672
+
673
+ module_eval(<<'.,.,', 'parser.y', 176)
674
+ def _reduce_49(val, _values, result)
675
+ result = UseRepositoryNode.new( val[2] );
676
+ result
677
+ end
678
+ .,.,
679
+
680
+ module_eval(<<'.,.,', 'parser.y', 177)
681
+ def _reduce_50(val, _values, result)
682
+ result = UseVcsNode.new( val[2] );
683
+ result
684
+ end
685
+ .,.,
686
+
687
+ module_eval(<<'.,.,', 'parser.y', 178)
688
+ def _reduce_51(val, _values, result)
689
+ result = val[0];
690
+ result
691
+ end
692
+ .,.,
693
+
694
+ module_eval(<<'.,.,', 'parser.y', 179)
695
+ def _reduce_52(val, _values, result)
696
+ result = val[0];
697
+ result
698
+ end
699
+ .,.,
700
+
701
+ module_eval(<<'.,.,', 'parser.y', 180)
702
+ def _reduce_53(val, _values, result)
703
+ result = val[0];
704
+ result
705
+ end
706
+ .,.,
707
+
708
+ module_eval(<<'.,.,', 'parser.y', 181)
709
+ def _reduce_54(val, _values, result)
710
+ result = val[0];
711
+ result
712
+ end
713
+ .,.,
714
+
715
+ module_eval(<<'.,.,', 'parser.y', 182)
716
+ def _reduce_55(val, _values, result)
717
+ result = ModuleInstallPrefixNode.new( val[1] );
718
+ result
719
+ end
720
+ .,.,
721
+
722
+ module_eval(<<'.,.,', 'parser.y', 183)
723
+ def _reduce_56(val, _values, result)
724
+ result = ModuleBuildPrefixNode.new( val[1] );
725
+ result
726
+ end
727
+ .,.,
728
+
729
+ module_eval(<<'.,.,', 'parser.y', 184)
730
+ def _reduce_57(val, _values, result)
731
+ result = ModuleRemotePathNode.new( val[1] );
732
+ result
733
+ end
734
+ .,.,
735
+
736
+ module_eval(<<'.,.,', 'parser.y', 185)
737
+ def _reduce_58(val, _values, result)
738
+ result = ModuleLocalPathNode.new( val[1] );
739
+ result
740
+ end
741
+ .,.,
742
+
743
+ module_eval(<<'.,.,', 'parser.y', 186)
744
+ def _reduce_59(val, _values, result)
745
+ result = ModuleTemplateNode.new();
746
+ result
747
+ end
748
+ .,.,
749
+
750
+ module_eval(<<'.,.,', 'parser.y', 193)
751
+ def _reduce_60(val, _values, result)
752
+ result = RepositoryDeclarationNode.new( val[1..-1] );
753
+ result
754
+ end
755
+ .,.,
756
+
757
+ # reduce 61 omitted
758
+
759
+ module_eval(<<'.,.,', 'parser.y', 198)
760
+ def _reduce_62(val, _values, result)
761
+ result = val.flatten();
762
+ result
763
+ end
764
+ .,.,
765
+
766
+ module_eval(<<'.,.,', 'parser.y', 202)
767
+ def _reduce_63(val, _values, result)
768
+ result = RepositoryServerNode.new( val[1] );
769
+ result
770
+ end
771
+ .,.,
772
+
773
+ module_eval(<<'.,.,', 'parser.y', 203)
774
+ def _reduce_64(val, _values, result)
775
+ result = RepositoryPathNode.new( val[1] );
776
+ result
777
+ end
778
+ .,.,
779
+
780
+ module_eval(<<'.,.,', 'parser.y', 204)
781
+ def _reduce_65(val, _values, result)
782
+ result = RepositoryUserNode.new( val[1] );
783
+ result
784
+ end
785
+ .,.,
786
+
787
+ module_eval(<<'.,.,', 'parser.y', 205)
788
+ def _reduce_66(val, _values, result)
789
+ result = UseSshKeyNode.new( val[2] );
790
+ result
791
+ end
792
+ .,.,
793
+
794
+ module_eval(<<'.,.,', 'parser.y', 206)
795
+ def _reduce_67(val, _values, result)
796
+ result = val[0];
797
+ result
798
+ end
799
+ .,.,
800
+
801
+ module_eval(<<'.,.,', 'parser.y', 213)
802
+ def _reduce_68(val, _values, result)
803
+ result = ServerDeclarationNode.new( [ val[1], ServerStatementList.new( val[2] ) ] );
804
+ result
805
+ end
806
+ .,.,
807
+
808
+ # reduce 69 omitted
809
+
810
+ module_eval(<<'.,.,', 'parser.y', 218)
811
+ def _reduce_70(val, _values, result)
812
+ result = val.flatten;
813
+ result
814
+ end
815
+ .,.,
816
+
817
+ module_eval(<<'.,.,', 'parser.y', 222)
818
+ def _reduce_71(val, _values, result)
819
+ result = ServerHostNode.new( val[1] );
820
+ result
821
+ end
822
+ .,.,
823
+
824
+ module_eval(<<'.,.,', 'parser.y', 223)
825
+ def _reduce_72(val, _values, result)
826
+ result = ServerProtocolNode.new( val[1] );
827
+ result
828
+ end
829
+ .,.,
830
+
831
+ module_eval(<<'.,.,', 'parser.y', 224)
832
+ def _reduce_73(val, _values, result)
833
+ result = ServerPathNode.new( val[1] );
834
+ result
835
+ end
836
+ .,.,
837
+
838
+ module_eval(<<'.,.,', 'parser.y', 231)
839
+ def _reduce_74(val, _values, result)
840
+ result = SshKeyDeclarationNode.new( val[1..-1] );
841
+ result
842
+ end
843
+ .,.,
844
+
845
+ # reduce 75 omitted
846
+
847
+ module_eval(<<'.,.,', 'parser.y', 236)
848
+ def _reduce_76(val, _values, result)
849
+ result = val.flatten;
850
+ result
851
+ end
852
+ .,.,
853
+
854
+ module_eval(<<'.,.,', 'parser.y', 240)
855
+ def _reduce_77(val, _values, result)
856
+ result = SshKeyFileNode.new( val[1] );
857
+ result
858
+ end
859
+ .,.,
860
+
861
+ def _reduce_none(val, _values, result)
862
+ val[0]
863
+ end
864
+
865
+ end # class Parser
866
+ end # module Cfg
867
+ end # module BuildTool
868
+
869
+ #
870
+ ### FOOTER
871
+ #