build-tool 0.0.3 → 0.1.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.
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
+ #