puppet 4.10.12-universal-darwin → 5.0.0-universal-darwin

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (1112) hide show
  1. data/CONTRIBUTING.md +32 -15
  2. data/Gemfile +31 -14
  3. data/MAINTAINERS +0 -5
  4. data/README.md +11 -11
  5. data/Rakefile +2 -1
  6. data/conf/auth.conf +21 -0
  7. data/conf/fileserver.conf +7 -12
  8. data/conf/hiera.yaml +11 -0
  9. data/ext/debian/puppet-common.install +0 -1
  10. data/ext/debian/puppet-common.manpages +0 -2
  11. data/ext/hiera/hiera.yaml +15 -0
  12. data/ext/logcheck/puppet +1 -1
  13. data/ext/project_data.yaml +4 -9
  14. data/ext/puppet-test +0 -24
  15. data/ext/rack/config.ru +2 -2
  16. data/ext/redhat/puppet.spec.erb +0 -3
  17. data/ext/windows/service/daemon.rb +8 -14
  18. data/install.rb +1 -1
  19. data/lib/hiera/puppet_function.rb +1 -1
  20. data/lib/puppet.rb +7 -5
  21. data/lib/puppet/agent.rb +29 -38
  22. data/lib/puppet/agent/disabler.rb +3 -3
  23. data/lib/puppet/agent/locker.rb +3 -3
  24. data/lib/puppet/application.rb +12 -29
  25. data/lib/puppet/application/agent.rb +20 -18
  26. data/lib/puppet/application/apply.rb +22 -18
  27. data/lib/puppet/application/cert.rb +2 -7
  28. data/lib/puppet/application/config.rb +0 -1
  29. data/lib/puppet/application/describe.rb +1 -1
  30. data/lib/puppet/application/device.rb +94 -76
  31. data/lib/puppet/application/doc.rb +6 -6
  32. data/lib/puppet/application/face_base.rb +8 -13
  33. data/lib/puppet/application/filebucket.rb +12 -29
  34. data/lib/puppet/application/help.rb +0 -1
  35. data/lib/puppet/application/lookup.rb +106 -101
  36. data/lib/puppet/application/master.rb +14 -22
  37. data/lib/puppet/application/resource.rb +13 -10
  38. data/lib/puppet/application_support.rb +1 -6
  39. data/lib/puppet/configurer.rb +33 -45
  40. data/lib/puppet/configurer/downloader.rb +2 -2
  41. data/lib/puppet/configurer/fact_handler.rb +13 -4
  42. data/lib/puppet/context.rb +5 -5
  43. data/lib/puppet/context/trusted_information.rb +1 -1
  44. data/lib/puppet/defaults.rb +18 -131
  45. data/lib/puppet/environments.rb +1 -1
  46. data/lib/puppet/error.rb +1 -1
  47. data/lib/puppet/external/nagios/grammar.ry +1 -1
  48. data/lib/puppet/external/nagios/parser.rb +1 -1
  49. data/lib/puppet/external/pson/common.rb +4 -0
  50. data/lib/puppet/face/ca.rb +49 -42
  51. data/lib/puppet/face/catalog.rb +1 -1
  52. data/lib/puppet/face/catalog/select.rb +4 -4
  53. data/lib/puppet/face/certificate.rb +20 -20
  54. data/lib/puppet/face/config.rb +9 -22
  55. data/lib/puppet/face/epp.rb +59 -61
  56. data/lib/puppet/face/facts.rb +4 -4
  57. data/lib/puppet/face/generate.rb +8 -8
  58. data/lib/puppet/face/help.rb +7 -7
  59. data/lib/puppet/face/key.rb +2 -2
  60. data/lib/puppet/face/man.rb +5 -5
  61. data/lib/puppet/face/module.rb +2 -2
  62. data/lib/puppet/face/module/build.rb +7 -7
  63. data/lib/puppet/face/module/changes.rb +6 -6
  64. data/lib/puppet/face/module/generate.rb +24 -24
  65. data/lib/puppet/face/module/install.rb +13 -9
  66. data/lib/puppet/face/module/list.rb +16 -12
  67. data/lib/puppet/face/module/search.rb +4 -4
  68. data/lib/puppet/face/module/uninstall.rb +13 -10
  69. data/lib/puppet/face/module/upgrade.rb +11 -7
  70. data/lib/puppet/face/node.rb +5 -5
  71. data/lib/puppet/face/node/clean.rb +8 -8
  72. data/lib/puppet/face/parser.rb +16 -16
  73. data/lib/puppet/face/plugin.rb +6 -6
  74. data/lib/puppet/face/report.rb +9 -9
  75. data/lib/puppet/face/resource.rb +12 -12
  76. data/lib/puppet/face/status.rb +4 -4
  77. data/lib/puppet/feature/base.rb +3 -2
  78. data/lib/puppet/feature/eventlog.rb +1 -1
  79. data/lib/puppet/file_bucket/dipper.rb +9 -9
  80. data/lib/puppet/file_bucket/file.rb +4 -17
  81. data/lib/puppet/file_serving/base.rb +3 -3
  82. data/lib/puppet/file_serving/configuration.rb +3 -3
  83. data/lib/puppet/file_serving/configuration/parser.rb +12 -12
  84. data/lib/puppet/file_serving/content.rb +1 -1
  85. data/lib/puppet/file_serving/fileset.rb +7 -5
  86. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  87. data/lib/puppet/file_serving/metadata.rb +7 -7
  88. data/lib/puppet/file_serving/mount.rb +1 -1
  89. data/lib/puppet/file_serving/mount/file.rb +6 -6
  90. data/lib/puppet/file_serving/mount/modules.rb +1 -1
  91. data/lib/puppet/file_serving/terminus_selector.rb +1 -1
  92. data/lib/puppet/file_system/file_impl.rb +2 -2
  93. data/lib/puppet/file_system/memory_impl.rb +1 -1
  94. data/lib/puppet/file_system/path_pattern.rb +6 -6
  95. data/lib/puppet/file_system/uniquefile.rb +2 -2
  96. data/lib/puppet/file_system/windows.rb +3 -3
  97. data/lib/puppet/forge.rb +8 -14
  98. data/lib/puppet/forge/errors.rb +12 -12
  99. data/lib/puppet/forge/repository.rb +1 -1
  100. data/lib/puppet/functions.rb +17 -45
  101. data/lib/puppet/functions/annotate.rb +108 -0
  102. data/lib/puppet/functions/binary_file.rb +1 -1
  103. data/lib/puppet/functions/call.rb +42 -0
  104. data/lib/puppet/functions/defined.rb +4 -4
  105. data/lib/puppet/functions/dig.rb +1 -1
  106. data/lib/puppet/functions/each.rb +4 -10
  107. data/lib/puppet/functions/epp.rb +0 -3
  108. data/lib/puppet/functions/hiera_include.rb +1 -1
  109. data/lib/puppet/functions/hocon_data.rb +2 -2
  110. data/lib/puppet/functions/json_data.rb +1 -1
  111. data/lib/puppet/functions/lookup.rb +2 -2
  112. data/lib/puppet/functions/map.rb +3 -13
  113. data/lib/puppet/functions/match.rb +2 -2
  114. data/lib/puppet/functions/reduce.rb +0 -31
  115. data/lib/puppet/functions/require.rb +1 -1
  116. data/lib/puppet/functions/slice.rb +3 -3
  117. data/lib/puppet/functions/strftime.rb +10 -2
  118. data/lib/puppet/functions/unique.rb +132 -0
  119. data/lib/puppet/generate/models/type/property.rb +1 -1
  120. data/lib/puppet/generate/type.rb +12 -12
  121. data/lib/puppet/graph/relationship_graph.rb +4 -7
  122. data/lib/puppet/graph/simple_graph.rb +45 -66
  123. data/lib/puppet/indirector.rb +2 -2
  124. data/lib/puppet/indirector/catalog/compiler.rb +58 -44
  125. data/lib/puppet/indirector/catalog/json.rb +18 -0
  126. data/lib/puppet/indirector/certificate/disabled_ca.rb +1 -1
  127. data/lib/puppet/indirector/certificate_request/ca.rb +3 -3
  128. data/lib/puppet/indirector/certificate_request/disabled_ca.rb +1 -1
  129. data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +1 -1
  130. data/lib/puppet/indirector/certificate_status/file.rb +6 -6
  131. data/lib/puppet/indirector/exec.rb +2 -2
  132. data/lib/puppet/indirector/face.rb +18 -18
  133. data/lib/puppet/indirector/file_bucket_file/file.rb +10 -9
  134. data/lib/puppet/indirector/file_metadata/http.rb +1 -1
  135. data/lib/puppet/indirector/file_server.rb +10 -2
  136. data/lib/puppet/indirector/hiera.rb +5 -3
  137. data/lib/puppet/indirector/indirection.rb +16 -18
  138. data/lib/puppet/indirector/json.rb +11 -12
  139. data/lib/puppet/indirector/key/disabled_ca.rb +1 -1
  140. data/lib/puppet/indirector/key/file.rb +2 -2
  141. data/lib/puppet/indirector/ldap.rb +6 -5
  142. data/lib/puppet/indirector/memory.rb +1 -1
  143. data/lib/puppet/indirector/msgpack.rb +8 -7
  144. data/lib/puppet/indirector/node/exec.rb +8 -6
  145. data/lib/puppet/indirector/node/ldap.rb +9 -7
  146. data/lib/puppet/indirector/node/plain.rb +2 -1
  147. data/lib/puppet/indirector/node/write_only_yaml.rb +6 -1
  148. data/lib/puppet/indirector/node/yaml.rb +0 -9
  149. data/lib/puppet/indirector/report/processor.rb +2 -2
  150. data/lib/puppet/indirector/report/rest.rb +13 -0
  151. data/lib/puppet/indirector/request.rb +11 -23
  152. data/lib/puppet/indirector/resource/ral.rb +1 -1
  153. data/lib/puppet/indirector/resource/validator.rb +1 -1
  154. data/lib/puppet/indirector/rest.rb +28 -10
  155. data/lib/puppet/indirector/ssl_file.rb +9 -9
  156. data/lib/puppet/indirector/terminus.rb +3 -3
  157. data/lib/puppet/indirector/yaml.rb +5 -5
  158. data/lib/puppet/info_service/class_information_service.rb +4 -5
  159. data/lib/puppet/interface.rb +2 -7
  160. data/lib/puppet/interface/face_collection.rb +6 -1
  161. data/lib/puppet/module.rb +10 -35
  162. data/lib/puppet/module_tool.rb +7 -3
  163. data/lib/puppet/module_tool/applications/application.rb +8 -9
  164. data/lib/puppet/module_tool/applications/builder.rb +5 -6
  165. data/lib/puppet/module_tool/applications/checksummer.rb +2 -2
  166. data/lib/puppet/module_tool/applications/installer.rb +11 -10
  167. data/lib/puppet/module_tool/applications/searcher.rb +1 -1
  168. data/lib/puppet/module_tool/applications/uninstaller.rb +2 -1
  169. data/lib/puppet/module_tool/applications/unpacker.rb +3 -3
  170. data/lib/puppet/module_tool/applications/upgrader.rb +10 -9
  171. data/lib/puppet/module_tool/contents_description.rb +1 -1
  172. data/lib/puppet/module_tool/dependency.rb +0 -1
  173. data/lib/puppet/module_tool/errors/installer.rb +22 -22
  174. data/lib/puppet/module_tool/errors/shared.rb +44 -42
  175. data/lib/puppet/module_tool/errors/uninstaller.rb +13 -9
  176. data/lib/puppet/module_tool/errors/upgrader.rb +11 -11
  177. data/lib/puppet/module_tool/install_directory.rb +1 -1
  178. data/lib/puppet/module_tool/installed_modules.rb +3 -3
  179. data/lib/puppet/module_tool/local_tarball.rb +4 -4
  180. data/lib/puppet/module_tool/metadata.rb +16 -13
  181. data/lib/puppet/module_tool/shared_behaviors.rb +6 -6
  182. data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +1 -1
  183. data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +10 -4
  184. data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +2 -2
  185. data/lib/puppet/module_tool/tar.rb +2 -1
  186. data/lib/puppet/module_tool/tar/mini.rb +4 -57
  187. data/lib/puppet/network/auth_config_parser.rb +12 -11
  188. data/lib/puppet/network/authconfig.rb +2 -2
  189. data/lib/puppet/network/authstore.rb +2 -2
  190. data/lib/puppet/network/format.rb +7 -7
  191. data/lib/puppet/network/format_handler.rb +12 -9
  192. data/lib/puppet/network/format_support.rb +11 -5
  193. data/lib/puppet/network/formats.rb +38 -27
  194. data/lib/puppet/network/http/api/indirected_routes.rb +72 -33
  195. data/lib/puppet/network/http/api/master/v3/environment.rb +33 -14
  196. data/lib/puppet/network/http/compression.rb +10 -7
  197. data/lib/puppet/network/http/connection.rb +19 -23
  198. data/lib/puppet/network/http/error.rb +14 -10
  199. data/lib/puppet/network/http/factory.rb +0 -12
  200. data/lib/puppet/network/http/handler.rb +8 -4
  201. data/lib/puppet/network/http/issues.rb +1 -0
  202. data/lib/puppet/network/http/pool.rb +1 -1
  203. data/lib/puppet/network/http/rack.rb +2 -2
  204. data/lib/puppet/network/http/rack/rest.rb +1 -1
  205. data/lib/puppet/network/http/request.rb +34 -20
  206. data/lib/puppet/network/http/response.rb +13 -1
  207. data/lib/puppet/network/http/webrick.rb +8 -6
  208. data/lib/puppet/network/http/webrick/rest.rb +2 -2
  209. data/lib/puppet/network/rights.rb +6 -6
  210. data/lib/puppet/network/server.rb +2 -2
  211. data/lib/puppet/node.rb +25 -23
  212. data/lib/puppet/node/environment.rb +21 -4
  213. data/lib/puppet/node/facts.rb +0 -14
  214. data/lib/puppet/parameter.rb +3 -28
  215. data/lib/puppet/parameter/package_options.rb +1 -1
  216. data/lib/puppet/parameter/path.rb +3 -3
  217. data/lib/puppet/parameter/value_collection.rb +4 -4
  218. data/lib/puppet/parser/ast/leaf.rb +1 -1
  219. data/lib/puppet/parser/ast/node.rb +1 -1
  220. data/lib/puppet/parser/ast/pops_bridge.rb +3 -3
  221. data/lib/puppet/parser/ast/resource.rb +1 -1
  222. data/lib/puppet/parser/ast/resource_instance.rb +1 -1
  223. data/lib/puppet/parser/ast/resourceparam.rb +1 -1
  224. data/lib/puppet/parser/compiler.rb +44 -117
  225. data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -2
  226. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +6 -9
  227. data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +1 -1
  228. data/lib/puppet/parser/e4_parser_adapter.rb +1 -2
  229. data/lib/puppet/parser/environment_compiler.rb +13 -15
  230. data/lib/puppet/parser/functions.rb +6 -6
  231. data/lib/puppet/parser/functions/assert_type.rb +1 -1
  232. data/lib/puppet/parser/functions/binary_file.rb +1 -1
  233. data/lib/puppet/parser/functions/break.rb +1 -1
  234. data/lib/puppet/parser/functions/contain.rb +1 -1
  235. data/lib/puppet/parser/functions/create_resources.rb +3 -3
  236. data/lib/puppet/parser/functions/defined.rb +1 -1
  237. data/lib/puppet/parser/functions/dig.rb +1 -1
  238. data/lib/puppet/parser/functions/each.rb +1 -1
  239. data/lib/puppet/parser/functions/epp.rb +1 -4
  240. data/lib/puppet/parser/functions/file.rb +1 -1
  241. data/lib/puppet/parser/functions/filter.rb +1 -1
  242. data/lib/puppet/parser/functions/find_file.rb +1 -1
  243. data/lib/puppet/parser/functions/generate.rb +5 -4
  244. data/lib/puppet/parser/functions/hiera_include.rb +1 -1
  245. data/lib/puppet/parser/functions/include.rb +2 -1
  246. data/lib/puppet/parser/functions/inline_epp.rb +1 -1
  247. data/lib/puppet/parser/functions/inline_template.rb +1 -1
  248. data/lib/puppet/parser/functions/lest.rb +1 -1
  249. data/lib/puppet/parser/functions/map.rb +1 -1
  250. data/lib/puppet/parser/functions/match.rb +1 -1
  251. data/lib/puppet/parser/functions/new.rb +45 -30
  252. data/lib/puppet/parser/functions/next.rb +1 -1
  253. data/lib/puppet/parser/functions/reduce.rb +1 -1
  254. data/lib/puppet/parser/functions/require.rb +1 -1
  255. data/lib/puppet/parser/functions/return.rb +2 -23
  256. data/lib/puppet/parser/functions/reverse_each.rb +1 -1
  257. data/lib/puppet/parser/functions/slice.rb +1 -1
  258. data/lib/puppet/parser/functions/sprintf.rb +3 -17
  259. data/lib/puppet/parser/functions/step.rb +1 -1
  260. data/lib/puppet/parser/functions/strftime.rb +1 -1
  261. data/lib/puppet/parser/functions/then.rb +1 -1
  262. data/lib/puppet/parser/functions/type.rb +1 -1
  263. data/lib/puppet/parser/functions/with.rb +1 -1
  264. data/lib/puppet/parser/parser_factory.rb +0 -30
  265. data/lib/puppet/parser/relationship.rb +49 -20
  266. data/lib/puppet/parser/resource.rb +31 -30
  267. data/lib/puppet/parser/resource/param.rb +0 -3
  268. data/lib/puppet/parser/scope.rb +122 -168
  269. data/lib/puppet/parser/templatewrapper.rb +2 -2
  270. data/lib/puppet/parser/type_loader.rb +1 -1
  271. data/lib/puppet/plugins/configuration.rb +15 -67
  272. data/lib/puppet/plugins/syntax_checkers.rb +6 -11
  273. data/lib/puppet/pops.rb +7 -37
  274. data/lib/puppet/pops/adaptable.rb +8 -3
  275. data/lib/puppet/pops/adapters.rb +23 -83
  276. data/lib/puppet/pops/evaluator/access_operator.rb +10 -39
  277. data/lib/puppet/pops/evaluator/collector_transformer.rb +7 -12
  278. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -1
  279. data/lib/puppet/pops/evaluator/compare_operator.rb +7 -7
  280. data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -1
  281. data/lib/puppet/pops/evaluator/evaluator_impl.rb +46 -38
  282. data/lib/puppet/pops/evaluator/external_syntax_support.rb +2 -9
  283. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -2
  284. data/lib/puppet/pops/evaluator/puppet_proc.rb +1 -1
  285. data/lib/puppet/pops/evaluator/relationship_operator.rb +26 -9
  286. data/lib/puppet/pops/evaluator/runtime3_converter.rb +17 -1
  287. data/lib/puppet/pops/evaluator/runtime3_support.rb +13 -30
  288. data/lib/puppet/pops/functions/dispatch.rb +1 -6
  289. data/lib/puppet/pops/issues.rb +182 -162
  290. data/lib/puppet/pops/loader/base_loader.rb +2 -2
  291. data/lib/puppet/pops/loader/gem_support.rb +2 -2
  292. data/lib/puppet/pops/loader/module_loaders.rb +59 -8
  293. data/lib/puppet/pops/loader/predefined_loader.rb +1 -6
  294. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +8 -8
  295. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +9 -10
  296. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +3 -3
  297. data/lib/puppet/pops/loader/static_loader.rb +33 -64
  298. data/lib/puppet/pops/loader/type_definition_instantiator.rb +7 -7
  299. data/lib/puppet/pops/loader/typed_name.rb +5 -0
  300. data/lib/puppet/pops/loaders.rb +15 -5
  301. data/lib/puppet/pops/lookup.rb +4 -2
  302. data/lib/puppet/pops/lookup/context.rb +1 -1
  303. data/lib/puppet/pops/lookup/data_provider.rb +3 -18
  304. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
  305. data/lib/puppet/pops/lookup/hiera_config.rb +12 -35
  306. data/lib/puppet/pops/lookup/interpolation.rb +1 -0
  307. data/lib/puppet/pops/lookup/invocation.rb +1 -1
  308. data/lib/puppet/pops/lookup/lookup_adapter.rb +20 -64
  309. data/lib/puppet/pops/lookup/lookup_key.rb +1 -1
  310. data/lib/puppet/pops/lookup/module_data_provider.rb +1 -1
  311. data/lib/puppet/pops/lookup/sub_lookup.rb +2 -1
  312. data/lib/puppet/pops/merge_strategy.rb +1 -1
  313. data/lib/puppet/pops/model/ast.pp +692 -0
  314. data/lib/puppet/pops/model/ast.rb +4833 -0
  315. data/lib/puppet/pops/model/ast_transformer.rb +9 -10
  316. data/lib/puppet/pops/model/factory.rb +454 -527
  317. data/lib/puppet/pops/model/model_label_provider.rb +3 -2
  318. data/lib/puppet/pops/model/model_tree_dumper.rb +9 -8
  319. data/lib/puppet/pops/parser/egrammar.ra +66 -60
  320. data/lib/puppet/pops/parser/eparser.rb +1483 -1578
  321. data/lib/puppet/pops/parser/evaluating_parser.rb +5 -5
  322. data/lib/puppet/pops/parser/heredoc_support.rb +1 -1
  323. data/lib/puppet/pops/parser/interpolation_support.rb +4 -4
  324. data/lib/puppet/pops/parser/lexer2.rb +7 -33
  325. data/lib/puppet/pops/parser/locator.rb +39 -16
  326. data/lib/puppet/pops/parser/parser_support.rb +25 -29
  327. data/lib/puppet/pops/patterns.rb +1 -2
  328. data/lib/puppet/pops/pcore.rb +26 -19
  329. data/lib/puppet/pops/resource/param.rb +1 -1
  330. data/lib/puppet/pops/resource/resource_type_impl.rb +2 -2
  331. data/lib/puppet/pops/serialization.rb +25 -1
  332. data/lib/puppet/pops/serialization/abstract_writer.rb +9 -1
  333. data/lib/puppet/pops/serialization/deserializer.rb +1 -1
  334. data/lib/puppet/pops/serialization/from_data_converter.rb +181 -0
  335. data/lib/puppet/pops/serialization/json.rb +4 -4
  336. data/lib/puppet/pops/serialization/json_path.rb +126 -0
  337. data/lib/puppet/pops/serialization/object.rb +5 -5
  338. data/lib/puppet/pops/serialization/serializer.rb +23 -9
  339. data/lib/puppet/pops/serialization/to_data_converter.rb +292 -0
  340. data/lib/puppet/pops/time/timespan.rb +11 -11
  341. data/lib/puppet/pops/time/timestamp.rb +8 -8
  342. data/lib/puppet/pops/types/annotatable.rb +7 -7
  343. data/lib/puppet/pops/types/annotation.rb +71 -0
  344. data/lib/puppet/pops/types/class_loader.rb +4 -6
  345. data/lib/puppet/pops/types/enumeration.rb +2 -2
  346. data/lib/puppet/pops/types/iterable.rb +2 -4
  347. data/lib/puppet/pops/types/p_binary_type.rb +7 -1
  348. data/lib/puppet/pops/types/p_meta_type.rb +16 -12
  349. data/lib/puppet/pops/types/p_object_type.rb +135 -96
  350. data/lib/puppet/pops/types/p_runtime_type.rb +1 -1
  351. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +6 -2
  352. data/lib/puppet/pops/types/p_timespan_type.rb +55 -4
  353. data/lib/puppet/pops/types/p_type_set_type.rb +42 -34
  354. data/lib/puppet/pops/types/puppet_object.rb +13 -3
  355. data/lib/puppet/pops/types/ruby_generator.rb +291 -127
  356. data/lib/puppet/pops/types/ruby_method.rb +31 -0
  357. data/lib/puppet/pops/types/string_converter.rb +107 -30
  358. data/lib/puppet/pops/types/type_calculator.rb +56 -94
  359. data/lib/puppet/pops/types/type_factory.rb +34 -6
  360. data/lib/puppet/pops/types/type_formatter.rb +64 -16
  361. data/lib/puppet/pops/types/type_mismatch_describer.rb +13 -22
  362. data/lib/puppet/pops/types/type_parser.rb +28 -13
  363. data/lib/puppet/pops/types/type_set_reference.rb +6 -6
  364. data/lib/puppet/pops/types/types.rb +169 -245
  365. data/lib/puppet/pops/utils.rb +0 -24
  366. data/lib/puppet/pops/validation.rb +3 -9
  367. data/lib/puppet/pops/validation/checker4_0.rb +86 -76
  368. data/lib/puppet/pops/validation/validator_factory_4_0.rb +0 -1
  369. data/lib/puppet/pops/visitor.rb +21 -0
  370. data/lib/puppet/property.rb +17 -14
  371. data/lib/puppet/property/ensure.rb +3 -3
  372. data/lib/puppet/property/list.rb +1 -10
  373. data/lib/puppet/provider.rb +2 -0
  374. data/lib/puppet/provider/aixobject.rb +7 -7
  375. data/lib/puppet/provider/augeas/augeas.rb +37 -37
  376. data/lib/puppet/provider/command.rb +1 -1
  377. data/lib/puppet/provider/cron/crontab.rb +2 -2
  378. data/lib/puppet/provider/exec.rb +4 -4
  379. data/lib/puppet/provider/exec/posix.rb +4 -4
  380. data/lib/puppet/provider/exec/windows.rb +3 -3
  381. data/lib/puppet/provider/file/posix.rb +5 -5
  382. data/lib/puppet/provider/file/windows.rb +4 -4
  383. data/lib/puppet/provider/group/aix.rb +2 -2
  384. data/lib/puppet/provider/group/groupadd.rb +2 -2
  385. data/lib/puppet/provider/group/pw.rb +1 -1
  386. data/lib/puppet/provider/group/windows_adsi.rb +7 -4
  387. data/lib/puppet/provider/host/parsed.rb +1 -1
  388. data/lib/puppet/provider/macauthorization/macauthorization.rb +9 -9
  389. data/lib/puppet/provider/maillist/mailman.rb +2 -2
  390. data/lib/puppet/provider/mcx/mcxcontent.rb +3 -3
  391. data/lib/puppet/provider/mount.rb +2 -1
  392. data/lib/puppet/provider/mount/parsed.rb +10 -8
  393. data/lib/puppet/provider/naginator.rb +1 -1
  394. data/lib/puppet/provider/nameservice.rb +8 -10
  395. data/lib/puppet/provider/nameservice/directoryservice.rb +11 -11
  396. data/lib/puppet/provider/network_device.rb +2 -1
  397. data/lib/puppet/provider/package/aix.rb +6 -6
  398. data/lib/puppet/provider/package/appdmg.rb +2 -2
  399. data/lib/puppet/provider/package/apple.rb +1 -1
  400. data/lib/puppet/provider/package/apt.rb +4 -4
  401. data/lib/puppet/provider/package/aptitude.rb +1 -1
  402. data/lib/puppet/provider/package/aptrpm.rb +2 -2
  403. data/lib/puppet/provider/package/blastwave.rb +4 -4
  404. data/lib/puppet/provider/package/dnf.rb +1 -1
  405. data/lib/puppet/provider/package/dpkg.rb +3 -3
  406. data/lib/puppet/provider/package/fink.rb +3 -3
  407. data/lib/puppet/provider/package/freebsd.rb +1 -1
  408. data/lib/puppet/provider/package/gem.rb +6 -6
  409. data/lib/puppet/provider/package/hpux.rb +1 -1
  410. data/lib/puppet/provider/package/nim.rb +15 -12
  411. data/lib/puppet/provider/package/openbsd.rb +4 -4
  412. data/lib/puppet/provider/package/opkg.rb +1 -1
  413. data/lib/puppet/provider/package/pacman.rb +9 -9
  414. data/lib/puppet/provider/package/pkg.rb +9 -9
  415. data/lib/puppet/provider/package/pkgdmg.rb +4 -4
  416. data/lib/puppet/provider/package/pkgin.rb +3 -3
  417. data/lib/puppet/provider/package/pkgng.rb +1 -1
  418. data/lib/puppet/provider/package/pkgutil.rb +6 -6
  419. data/lib/puppet/provider/package/portage.rb +167 -59
  420. data/lib/puppet/provider/package/ports.rb +3 -3
  421. data/lib/puppet/provider/package/portupgrade.rb +4 -4
  422. data/lib/puppet/provider/package/rpm.rb +7 -4
  423. data/lib/puppet/provider/package/rug.rb +1 -1
  424. data/lib/puppet/provider/package/sun.rb +3 -2
  425. data/lib/puppet/provider/package/up2date.rb +1 -1
  426. data/lib/puppet/provider/package/urpmi.rb +1 -1
  427. data/lib/puppet/provider/package/windows.rb +4 -4
  428. data/lib/puppet/provider/package/windows/package.rb +3 -3
  429. data/lib/puppet/provider/package/yum.rb +5 -6
  430. data/lib/puppet/provider/package/zypper.rb +1 -1
  431. data/lib/puppet/provider/parsedfile.rb +1 -1
  432. data/lib/puppet/provider/service/base.rb +8 -21
  433. data/lib/puppet/provider/service/smf.rb +2 -2
  434. data/lib/puppet/provider/service/systemd.rb +1 -2
  435. data/lib/puppet/provider/service/upstart.rb +1 -3
  436. data/lib/puppet/provider/user/aix.rb +2 -2
  437. data/lib/puppet/provider/user/ldap.rb +1 -1
  438. data/lib/puppet/provider/user/windows_adsi.rb +1 -1
  439. data/lib/puppet/provider/yumrepo/inifile.rb +3 -3
  440. data/lib/puppet/provider/zfs/zfs.rb +1 -5
  441. data/lib/puppet/reference/configuration.rb +0 -2
  442. data/lib/puppet/reference/indirection.rb +1 -1
  443. data/lib/puppet/reference/metaparameter.rb +1 -1
  444. data/lib/puppet/reference/providers.rb +6 -6
  445. data/lib/puppet/reference/type.rb +2 -2
  446. data/lib/puppet/relationship.rb +7 -9
  447. data/lib/puppet/reports/http.rb +8 -6
  448. data/lib/puppet/resource.rb +75 -134
  449. data/lib/puppet/resource/capability_finder.rb +1 -1
  450. data/lib/puppet/resource/catalog.rb +26 -34
  451. data/lib/puppet/resource/status.rb +13 -24
  452. data/lib/puppet/resource/type.rb +13 -61
  453. data/lib/puppet/resource/type_collection.rb +29 -23
  454. data/lib/puppet/settings.rb +1 -1
  455. data/lib/puppet/settings/array_setting.rb +1 -1
  456. data/lib/puppet/settings/autosign_setting.rb +1 -1
  457. data/lib/puppet/settings/boolean_setting.rb +1 -1
  458. data/lib/puppet/settings/config_file.rb +2 -2
  459. data/lib/puppet/settings/duration_setting.rb +1 -1
  460. data/lib/puppet/settings/enum_setting.rb +1 -1
  461. data/lib/puppet/settings/environment_conf.rb +2 -10
  462. data/lib/puppet/settings/file_setting.rb +2 -2
  463. data/lib/puppet/settings/priority_setting.rb +1 -1
  464. data/lib/puppet/settings/server_list_setting.rb +1 -1
  465. data/lib/puppet/settings/symbolic_enum_setting.rb +1 -1
  466. data/lib/puppet/settings/terminus_setting.rb +1 -1
  467. data/lib/puppet/settings/ttl_setting.rb +2 -2
  468. data/lib/puppet/ssl/base.rb +2 -2
  469. data/lib/puppet/ssl/certificate_authority.rb +21 -21
  470. data/lib/puppet/ssl/certificate_authority/interface.rb +13 -13
  471. data/lib/puppet/ssl/certificate_factory.rb +2 -2
  472. data/lib/puppet/ssl/certificate_request.rb +14 -14
  473. data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
  474. data/lib/puppet/ssl/certificate_revocation_list.rb +3 -3
  475. data/lib/puppet/ssl/host.rb +29 -29
  476. data/lib/puppet/ssl/inventory.rb +1 -1
  477. data/lib/puppet/ssl/key.rb +1 -1
  478. data/lib/puppet/ssl/oids.rb +5 -5
  479. data/lib/puppet/ssl/validator/default_validator.rb +3 -4
  480. data/lib/puppet/syntax_checkers/base64.rb +7 -7
  481. data/lib/puppet/syntax_checkers/json.rb +5 -5
  482. data/lib/puppet/test/test_helper.rb +0 -4
  483. data/lib/puppet/transaction.rb +38 -23
  484. data/lib/puppet/transaction/additional_resource_generator.rb +4 -3
  485. data/lib/puppet/transaction/event.rb +19 -8
  486. data/lib/puppet/transaction/event_manager.rb +6 -6
  487. data/lib/puppet/transaction/persistence.rb +6 -6
  488. data/lib/puppet/transaction/report.rb +34 -47
  489. data/lib/puppet/transaction/resource_harness.rb +14 -12
  490. data/lib/puppet/type.rb +9 -7
  491. data/lib/puppet/type/augeas.rb +2 -2
  492. data/lib/puppet/type/cron.rb +14 -31
  493. data/lib/puppet/type/exec.rb +16 -16
  494. data/lib/puppet/type/file.rb +21 -22
  495. data/lib/puppet/type/file/content.rb +1 -1
  496. data/lib/puppet/type/file/group.rb +3 -3
  497. data/lib/puppet/type/file/mode.rb +6 -6
  498. data/lib/puppet/type/file/owner.rb +3 -3
  499. data/lib/puppet/type/file/selcontext.rb +18 -1
  500. data/lib/puppet/type/file/source.rb +5 -1
  501. data/lib/puppet/type/filebucket.rb +3 -8
  502. data/lib/puppet/type/group.rb +2 -2
  503. data/lib/puppet/type/host.rb +6 -6
  504. data/lib/puppet/type/interface.rb +1 -1
  505. data/lib/puppet/type/k5login.rb +1 -1
  506. data/lib/puppet/type/macauthorization.rb +1 -1
  507. data/lib/puppet/type/mailalias.rb +2 -18
  508. data/lib/puppet/type/maillist.rb +1 -1
  509. data/lib/puppet/type/mount.rb +8 -8
  510. data/lib/puppet/type/notify.rb +2 -0
  511. data/lib/puppet/type/package.rb +5 -5
  512. data/lib/puppet/type/resources.rb +6 -6
  513. data/lib/puppet/type/schedule.rb +9 -9
  514. data/lib/puppet/type/scheduled_task.rb +9 -8
  515. data/lib/puppet/type/service.rb +1 -1
  516. data/lib/puppet/type/ssh_authorized_key.rb +3 -19
  517. data/lib/puppet/type/sshkey.rb +4 -4
  518. data/lib/puppet/type/tidy.rb +16 -19
  519. data/lib/puppet/type/user.rb +35 -70
  520. data/lib/puppet/type/yumrepo.rb +8 -8
  521. data/lib/puppet/type/zone.rb +7 -7
  522. data/lib/puppet/type/zpool.rb +3 -3
  523. data/lib/puppet/util.rb +16 -12
  524. data/lib/puppet/util/at_fork.rb +35 -0
  525. data/lib/puppet/util/at_fork/noop.rb +18 -0
  526. data/lib/puppet/util/at_fork/solaris.rb +158 -0
  527. data/lib/puppet/util/autoload.rb +2 -2
  528. data/lib/puppet/util/backups.rb +6 -6
  529. data/lib/puppet/util/classgen.rb +4 -4
  530. data/lib/puppet/util/command_line.rb +4 -4
  531. data/lib/puppet/util/command_line/puppet_option_parser.rb +3 -3
  532. data/lib/puppet/util/command_line/trollop.rb +31 -31
  533. data/lib/puppet/util/diff.rb +1 -1
  534. data/lib/puppet/util/errors.rb +4 -4
  535. data/lib/puppet/util/execution.rb +9 -9
  536. data/lib/puppet/util/feature.rb +5 -5
  537. data/lib/puppet/util/fileparsing.rb +8 -8
  538. data/lib/puppet/util/filetype.rb +15 -15
  539. data/lib/puppet/util/http_proxy.rb +7 -15
  540. data/lib/puppet/util/inifile.rb +4 -4
  541. data/lib/puppet/util/instance_loader.rb +1 -1
  542. data/lib/puppet/util/json_lockfile.rb +4 -4
  543. data/lib/puppet/util/ldap/connection.rb +2 -2
  544. data/lib/puppet/util/ldap/manager.rb +2 -2
  545. data/lib/puppet/util/limits.rb +1 -1
  546. data/lib/puppet/util/log.rb +23 -16
  547. data/lib/puppet/util/log/destinations.rb +10 -16
  548. data/lib/puppet/util/logging.rb +11 -8
  549. data/lib/puppet/util/metric.rb +9 -6
  550. data/lib/puppet/util/monkey_patches.rb +27 -66
  551. data/lib/puppet/util/network_device.rb +1 -1
  552. data/lib/puppet/util/network_device/cisco/device.rb +7 -7
  553. data/lib/puppet/util/network_device/cisco/interface.rb +1 -1
  554. data/lib/puppet/util/network_device/config.rb +6 -6
  555. data/lib/puppet/util/network_device/transport/ssh.rb +6 -6
  556. data/lib/puppet/util/plist.rb +4 -2
  557. data/lib/puppet/util/posix.rb +5 -5
  558. data/lib/puppet/util/profiler/wall_clock.rb +1 -1
  559. data/lib/puppet/util/provider_features.rb +1 -1
  560. data/lib/puppet/util/psych_support.rb +3 -11
  561. data/lib/puppet/util/rdoc.rb +4 -4
  562. data/lib/puppet/util/reference.rb +14 -7
  563. data/lib/puppet/util/resource_template.rb +1 -1
  564. data/lib/puppet/util/retry_action.rb +2 -2
  565. data/lib/puppet/util/selinux.rb +54 -12
  566. data/lib/puppet/util/splayer.rb +1 -1
  567. data/lib/puppet/util/storage.rb +5 -5
  568. data/lib/puppet/util/suidmanager.rb +4 -4
  569. data/lib/puppet/util/symbolic_file_mode.rb +9 -9
  570. data/lib/puppet/util/tag_set.rb +1 -4
  571. data/lib/puppet/util/tagging.rb +2 -2
  572. data/lib/puppet/util/windows.rb +2 -0
  573. data/lib/puppet/util/windows/adsi.rb +19 -16
  574. data/lib/puppet/util/windows/api_types.rb +7 -11
  575. data/lib/puppet/util/windows/com.rb +4 -4
  576. data/lib/puppet/util/windows/error.rb +2 -2
  577. data/lib/puppet/util/windows/eventlog.rb +192 -0
  578. data/lib/puppet/util/windows/file.rb +13 -96
  579. data/lib/puppet/util/windows/principal.rb +6 -7
  580. data/lib/puppet/util/windows/process.rb +6 -14
  581. data/lib/puppet/util/windows/registry.rb +11 -11
  582. data/lib/puppet/util/windows/root_certs.rb +1 -1
  583. data/lib/puppet/util/windows/security.rb +14 -14
  584. data/lib/puppet/util/windows/sid.rb +13 -66
  585. data/lib/puppet/util/windows/taskscheduler.rb +62 -62
  586. data/lib/puppet/util/windows/user.rb +6 -6
  587. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +2 -10
  588. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +1 -1
  589. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +122 -114
  590. data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +678 -342
  591. data/lib/puppet/vendor/semantic_puppet/{lib/semantic_puppet/locales → locales}/config.yaml +0 -0
  592. data/lib/puppet/version.rb +1 -1
  593. data/locales/config.yaml +1 -1
  594. data/locales/puppet.pot +7847 -112
  595. data/man/man5/puppet.conf.5 +55 -296
  596. data/man/man8/puppet-agent.8 +10 -32
  597. data/man/man8/puppet-apply.8 +6 -21
  598. data/man/man8/puppet-ca.8 +34 -48
  599. data/man/man8/puppet-catalog.8 +4 -4
  600. data/man/man8/puppet-cert.8 +6 -23
  601. data/man/man8/puppet-certificate.8 +28 -44
  602. data/man/man8/puppet-certificate_request.8 +4 -4
  603. data/man/man8/puppet-certificate_revocation_list.8 +4 -4
  604. data/man/man8/puppet-config.8 +5 -5
  605. data/man/man8/puppet-describe.8 +3 -3
  606. data/man/man8/puppet-device.8 +13 -23
  607. data/man/man8/puppet-doc.8 +5 -5
  608. data/man/man8/puppet-epp.8 +10 -16
  609. data/man/man8/puppet-facts.8 +4 -4
  610. data/man/man8/puppet-filebucket.8 +6 -63
  611. data/man/man8/puppet-help.8 +4 -4
  612. data/man/man8/puppet-inspect.8 +5 -8
  613. data/man/man8/puppet-key.8 +4 -4
  614. data/man/man8/puppet-man.8 +5 -5
  615. data/man/man8/puppet-master.8 +5 -5
  616. data/man/man8/puppet-module.8 +13 -22
  617. data/man/man8/puppet-node.8 +4 -4
  618. data/man/man8/puppet-parser.8 +4 -4
  619. data/man/man8/puppet-plugin.8 +4 -4
  620. data/man/man8/puppet-report.8 +4 -4
  621. data/man/man8/puppet-resource.8 +8 -4
  622. data/man/man8/puppet-status.8 +5 -5
  623. data/man/man8/puppet.8 +3 -12
  624. data/spec/fixtures/unit/application/environments/production/data/common.yaml +0 -2
  625. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +9 -0
  626. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +9 -0
  627. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +9 -0
  628. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +9 -0
  629. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +9 -0
  630. data/spec/integration/agent/logging_spec.rb +0 -2
  631. data/spec/integration/application/apply_spec.rb +19 -23
  632. data/spec/integration/application/lookup_spec.rb +0 -21
  633. data/spec/integration/configurer_spec.rb +1 -1
  634. data/spec/integration/defaults_spec.rb +2 -2
  635. data/spec/integration/file_bucket/file_spec.rb +5 -20
  636. data/spec/integration/indirector/file_content/file_server_spec.rb +1 -0
  637. data/spec/integration/indirector/file_metadata/file_server_spec.rb +1 -0
  638. data/spec/integration/parser/catalog_spec.rb +1 -1
  639. data/spec/integration/parser/class_spec.rb +6 -6
  640. data/spec/integration/parser/compiler_spec.rb +184 -142
  641. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -1
  642. data/spec/integration/parser/pcore_resource_spec.rb +1 -1
  643. data/spec/integration/parser/scope_spec.rb +53 -4
  644. data/spec/integration/provider/cron/crontab_spec.rb +0 -1
  645. data/spec/integration/resource/catalog_spec.rb +0 -4
  646. data/spec/integration/transaction/report_spec.rb +2 -2
  647. data/spec/integration/transaction_spec.rb +4 -37
  648. data/spec/integration/type/package_spec.rb +7 -1
  649. data/spec/integration/util/execution_spec.rb +0 -8
  650. data/spec/integration/util/windows/adsi_spec.rb +1 -86
  651. data/spec/integration/util/windows/principal_spec.rb +1 -10
  652. data/spec/integration/util/windows/process_spec.rb +0 -45
  653. data/spec/lib/matchers/json.rb +3 -3
  654. data/spec/lib/puppet/indirector_testing.rb +4 -0
  655. data/spec/lib/puppet_spec/compiler.rb +1 -1
  656. data/spec/lib/puppet_spec/modules.rb +2 -2
  657. data/spec/lib/puppet_spec/network.rb +10 -6
  658. data/spec/shared_contexts/types_setup.rb +28 -9
  659. data/spec/spec_helper.rb +0 -11
  660. data/spec/unit/agent_spec.rb +12 -34
  661. data/spec/unit/application/agent_spec.rb +16 -0
  662. data/spec/unit/application/apply_spec.rb +37 -13
  663. data/spec/unit/application/cert_spec.rb +1 -40
  664. data/spec/unit/application/config_spec.rb +0 -4
  665. data/spec/unit/application/describe_spec.rb +19 -0
  666. data/spec/unit/application/device_spec.rb +41 -2
  667. data/spec/unit/application/face_base_spec.rb +6 -6
  668. data/spec/unit/application/lookup_spec.rb +1 -31
  669. data/spec/unit/application/master_spec.rb +22 -6
  670. data/spec/unit/application/resource_spec.rb +17 -0
  671. data/spec/unit/application_spec.rb +0 -24
  672. data/spec/unit/capability_spec.rb +2 -6
  673. data/spec/unit/configurer/fact_handler_spec.rb +74 -41
  674. data/spec/unit/configurer/plugin_handler_spec.rb +13 -19
  675. data/spec/unit/configurer_spec.rb +36 -33
  676. data/spec/unit/defaults_spec.rb +0 -44
  677. data/spec/unit/environments_spec.rb +0 -15
  678. data/spec/unit/face/config_spec.rb +2 -1
  679. data/spec/unit/face/epp_face_spec.rb +0 -9
  680. data/spec/unit/face/module/list_spec.rb +60 -0
  681. data/spec/unit/file_bucket/file_spec.rb +3 -3
  682. data/spec/unit/file_serving/http_metadata_spec.rb +1 -1
  683. data/spec/unit/file_serving/metadata_spec.rb +14 -9
  684. data/spec/unit/forge/forge_spec.rb +2 -2
  685. data/spec/unit/forge_spec.rb +0 -105
  686. data/spec/unit/functions/annotate_spec.rb +175 -0
  687. data/spec/unit/functions/break_spec.rb +52 -83
  688. data/spec/unit/functions/call_spec.rb +77 -0
  689. data/spec/unit/functions/contain_spec.rb +1 -1
  690. data/spec/unit/functions/defined_spec.rb +2 -2
  691. data/spec/unit/functions/epp_spec.rb +0 -10
  692. data/spec/unit/functions/hiera_spec.rb +0 -5
  693. data/spec/unit/functions/lookup_fixture_spec.rb +1 -6
  694. data/spec/unit/functions/lookup_spec.rb +4 -97
  695. data/spec/unit/functions/new_spec.rb +1 -1
  696. data/spec/unit/functions/unique_spec.rb +111 -0
  697. data/spec/unit/functions4_spec.rb +2 -43
  698. data/spec/unit/graph/relationship_graph_spec.rb +0 -15
  699. data/spec/unit/graph/simple_graph_spec.rb +58 -55
  700. data/spec/unit/indirector/catalog/compiler_spec.rb +206 -174
  701. data/spec/unit/indirector/catalog/json_spec.rb +50 -1
  702. data/spec/unit/indirector/facts/facter_spec.rb +1 -2
  703. data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -4
  704. data/spec/unit/indirector/file_server_spec.rb +17 -2
  705. data/spec/unit/indirector/indirection_spec.rb +3 -60
  706. data/spec/unit/indirector/json_spec.rb +27 -6
  707. data/spec/unit/indirector/node/exec_spec.rb +12 -12
  708. data/spec/unit/indirector/node/ldap_spec.rb +29 -8
  709. data/spec/unit/indirector/node/plain_spec.rb +16 -6
  710. data/spec/unit/indirector/node/write_only_yaml_spec.rb +12 -0
  711. data/spec/unit/indirector/report/processor_spec.rb +2 -2
  712. data/spec/unit/indirector/report/rest_spec.rb +29 -3
  713. data/spec/unit/indirector/request_spec.rb +0 -45
  714. data/spec/unit/indirector/rest_spec.rb +57 -15
  715. data/spec/unit/interface/face_collection_spec.rb +7 -7
  716. data/spec/unit/interface_spec.rb +0 -12
  717. data/spec/unit/module_spec.rb +10 -31
  718. data/spec/unit/module_tool/applications/installer_spec.rb +0 -1
  719. data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -1
  720. data/spec/unit/module_tool/tar/mini_spec.rb +5 -34
  721. data/spec/unit/network/format_handler_spec.rb +11 -11
  722. data/spec/unit/network/format_spec.rb +9 -0
  723. data/spec/unit/network/formats_spec.rb +322 -138
  724. data/spec/unit/network/http/api/indirected_routes_spec.rb +62 -52
  725. data/spec/unit/network/http/api/master/v3/environment_spec.rb +128 -2
  726. data/spec/unit/network/http/api/master/v3_spec.rb +1 -1
  727. data/spec/unit/network/http/api_spec.rb +1 -1
  728. data/spec/unit/network/http/compression_spec.rb +105 -88
  729. data/spec/unit/network/http/error_spec.rb +1 -2
  730. data/spec/unit/network/http/factory_spec.rb +9 -38
  731. data/spec/unit/network/http/handler_spec.rb +8 -12
  732. data/spec/unit/network/http/request_spec.rb +110 -0
  733. data/spec/unit/network/http/response_spec.rb +108 -0
  734. data/spec/unit/network/http/webrick_spec.rb +29 -30
  735. data/spec/unit/node/facts_spec.rb +13 -13
  736. data/spec/unit/node_spec.rb +33 -10
  737. data/spec/unit/parameter_spec.rb +73 -5
  738. data/spec/unit/parser/ast/leaf_spec.rb +4 -3
  739. data/spec/unit/parser/compiler_spec.rb +1 -1
  740. data/spec/unit/parser/environment_compiler_spec.rb +0 -2
  741. data/spec/unit/parser/functions/sprintf_spec.rb +0 -26
  742. data/spec/unit/parser/resource_spec.rb +86 -24
  743. data/spec/unit/parser/scope_spec.rb +4 -81
  744. data/spec/unit/pops/benchmark_spec.rb +8 -26
  745. data/spec/unit/pops/containment_spec.rb +0 -26
  746. data/spec/unit/pops/evaluator/access_ops_spec.rb +103 -103
  747. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +59 -6
  748. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +5 -5
  749. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +26 -26
  750. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +19 -7
  751. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +7 -7
  752. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +36 -1
  753. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +10 -10
  754. data/spec/unit/pops/evaluator/variables_spec.rb +1 -1
  755. data/spec/unit/pops/factory_rspec_helper.rb +0 -4
  756. data/spec/unit/pops/factory_spec.rb +83 -83
  757. data/spec/unit/pops/loaders/loaders_spec.rb +69 -1
  758. data/spec/unit/pops/loaders/static_loader_spec.rb +3 -7
  759. data/spec/unit/pops/model/model_spec.rb +10 -10
  760. data/spec/unit/pops/parser/epp_parser_spec.rb +1 -1
  761. data/spec/unit/pops/parser/lexer2_spec.rb +4 -59
  762. data/spec/unit/pops/parser/{source_pos_adapter_spec.rb → locator_spec.rb} +9 -11
  763. data/spec/unit/pops/parser/parse_application_spec.rb +0 -3
  764. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +4 -4
  765. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -3
  766. data/spec/unit/pops/parser/parse_containers_spec.rb +17 -19
  767. data/spec/unit/pops/parser/parse_site_spec.rb +0 -3
  768. data/spec/unit/pops/parser/parser_spec.rb +8 -10
  769. data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -3
  770. data/spec/unit/pops/serialization/serialization_spec.rb +87 -1
  771. data/spec/unit/pops/serialization/to_from_hr_spec.rb +494 -0
  772. data/spec/unit/pops/time/timestamp_spec.rb +13 -0
  773. data/spec/unit/pops/types/iterable_spec.rb +1 -1
  774. data/spec/unit/pops/types/p_object_type_spec.rb +99 -13
  775. data/spec/unit/pops/types/p_timestamp_type_spec.rb +8 -8
  776. data/spec/unit/pops/types/p_type_set_type_spec.rb +1 -9
  777. data/spec/unit/pops/types/ruby_generator_spec.rb +57 -20
  778. data/spec/unit/pops/types/string_converter_spec.rb +78 -30
  779. data/spec/unit/pops/types/type_acceptor_spec.rb +2 -2
  780. data/spec/unit/pops/types/type_calculator_spec.rb +207 -123
  781. data/spec/unit/pops/types/type_factory_spec.rb +9 -9
  782. data/spec/unit/pops/types/type_formatter_spec.rb +32 -19
  783. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
  784. data/spec/unit/pops/types/type_parser_spec.rb +6 -6
  785. data/spec/unit/pops/types/types_spec.rb +42 -2
  786. data/spec/unit/pops/validator/validator_spec.rb +25 -86
  787. data/spec/unit/pops/visitor_spec.rb +1 -1
  788. data/spec/unit/property/list_spec.rb +2 -2
  789. data/spec/unit/provider/augeas/augeas_spec.rb +1 -1
  790. data/spec/unit/provider/group/windows_adsi_spec.rb +22 -79
  791. data/spec/unit/provider/package/aix_spec.rb +0 -8
  792. data/spec/unit/provider/package/portage_spec.rb +103 -17
  793. data/spec/unit/provider/package/rpm_spec.rb +14 -1
  794. data/spec/unit/provider/package/yum_spec.rb +0 -10
  795. data/spec/unit/provider/service/base_spec.rb +0 -20
  796. data/spec/unit/provider/service/smf_spec.rb +4 -2
  797. data/spec/unit/provider/service/systemd_spec.rb +1 -15
  798. data/spec/unit/provider/user/directoryservice_spec.rb +7 -7
  799. data/spec/unit/provider/user/windows_adsi_spec.rb +4 -4
  800. data/spec/unit/provider/zfs/zfs_spec.rb +1 -7
  801. data/spec/unit/puppet_spec.rb +2 -3
  802. data/spec/unit/relationship_spec.rb +15 -36
  803. data/spec/unit/reports/http_spec.rb +11 -8
  804. data/spec/unit/resource/catalog_spec.rb +47 -49
  805. data/spec/unit/resource/status_spec.rb +114 -103
  806. data/spec/unit/resource/type_collection_spec.rb +5 -5
  807. data/spec/unit/resource/type_spec.rb +4 -71
  808. data/spec/unit/resource_spec.rb +30 -34
  809. data/spec/unit/settings_spec.rb +4 -2
  810. data/spec/unit/ssl/host_spec.rb +34 -34
  811. data/spec/unit/status_spec.rb +7 -7
  812. data/spec/unit/transaction/event_spec.rb +18 -15
  813. data/spec/unit/transaction/report_spec.rb +100 -81
  814. data/spec/unit/transaction/resource_harness_spec.rb +3 -3
  815. data/spec/unit/transaction_spec.rb +53 -8
  816. data/spec/unit/type/file/group_spec.rb +2 -2
  817. data/spec/unit/type/file/mode_spec.rb +9 -9
  818. data/spec/unit/type/file/owner_spec.rb +2 -2
  819. data/spec/unit/type/file/selinux_spec.rb +2 -0
  820. data/spec/unit/type/file/source_spec.rb +13 -0
  821. data/spec/unit/type/nagios_spec.rb +1 -21
  822. data/spec/unit/type/ssh_authorized_key_spec.rb +2 -2
  823. data/spec/unit/type/tidy_spec.rb +0 -14
  824. data/spec/unit/type/user_spec.rb +2 -4
  825. data/spec/unit/util/at_fork_spec.rb +150 -0
  826. data/spec/unit/util/execution_spec.rb +31 -2
  827. data/spec/unit/util/http_proxy_spec.rb +0 -37
  828. data/spec/unit/util/log/destinations_spec.rb +5 -6
  829. data/spec/unit/util/log_spec.rb +62 -17
  830. data/spec/unit/util/metric_spec.rb +9 -2
  831. data/spec/unit/util/monkey_patches_spec.rb +6 -188
  832. data/spec/unit/util/run_mode_spec.rb +17 -10
  833. data/spec/unit/util/tag_set_spec.rb +2 -2
  834. data/spec/unit/util/tagging_spec.rb +55 -0
  835. data/spec/unit/util/windows/adsi_spec.rb +27 -31
  836. data/spec/unit/util/windows/api_types_spec.rb +0 -51
  837. data/spec/unit/util/windows/eventlog_spec.rb +123 -0
  838. data/spec/unit/util/windows/sid_spec.rb +15 -86
  839. data/spec/unit/util_spec.rb +7 -1
  840. data/tasks/benchmark.rake +3 -3
  841. data/tasks/cfpropertylist.rake +1 -1
  842. data/tasks/generate_ast_model.rake +78 -0
  843. data/tasks/manpages.rake +1 -1
  844. data/tasks/parallel.rake +7 -12
  845. metadata +3442 -3699
  846. checksums.yaml +0 -7
  847. data/bin/extlookup2hiera +0 -56
  848. data/ext/emacs/puppet-mode-init.el +0 -6
  849. data/ext/emacs/puppet-mode.el +0 -433
  850. data/ext/vim/README +0 -3
  851. data/ext/vim/ftdetect/puppet.vim +0 -2
  852. data/ext/vim/ftplugin/puppet.vim +0 -94
  853. data/ext/vim/indent/puppet.vim +0 -76
  854. data/ext/vim/syntax/puppet.vim +0 -115
  855. data/lib/puppet/application/file.rb +0 -4
  856. data/lib/puppet/application/inspect.rb +0 -184
  857. data/lib/puppet/application/resource_type.rb +0 -7
  858. data/lib/puppet/data_providers.rb +0 -34
  859. data/lib/puppet/data_providers/data_adapter.rb +0 -37
  860. data/lib/puppet/data_providers/data_function_support.rb +0 -32
  861. data/lib/puppet/data_providers/function_env_data_provider.rb +0 -26
  862. data/lib/puppet/data_providers/function_module_data_provider.rb +0 -24
  863. data/lib/puppet/data_providers/hiera_config.rb +0 -151
  864. data/lib/puppet/data_providers/hiera_env_data_provider.rb +0 -25
  865. data/lib/puppet/data_providers/hiera_interpolate.rb +0 -21
  866. data/lib/puppet/data_providers/hiera_module_data_provider.rb +0 -30
  867. data/lib/puppet/data_providers/hiera_support.rb +0 -42
  868. data/lib/puppet/data_providers/json_data_provider_factory.rb +0 -38
  869. data/lib/puppet/data_providers/yaml_data_provider_factory.rb +0 -40
  870. data/lib/puppet/face/file.rb +0 -50
  871. data/lib/puppet/face/file/download.rb +0 -56
  872. data/lib/puppet/face/file/store.rb +0 -21
  873. data/lib/puppet/face/resource_type.rb +0 -84
  874. data/lib/puppet/feature/cfacter.rb +0 -15
  875. data/lib/puppet/feature/external_facts.rb +0 -5
  876. data/lib/puppet/indirector/catalog/static_compiler.rb +0 -232
  877. data/lib/puppet/indirector/resource_type.rb +0 -5
  878. data/lib/puppet/indirector/resource_type/parser.rb +0 -108
  879. data/lib/puppet/indirector/resource_type/rest.rb +0 -7
  880. data/lib/puppet/parser/yaml_trimmer.rb +0 -7
  881. data/lib/puppet/plugins/binding_schemes.rb +0 -140
  882. data/lib/puppet/plugins/data_providers.rb +0 -45
  883. data/lib/puppet/plugins/data_providers/data_provider.rb +0 -406
  884. data/lib/puppet/plugins/data_providers/registry.rb +0 -51
  885. data/lib/puppet/pops/binder/binder.rb +0 -398
  886. data/lib/puppet/pops/binder/binder_issues.rb +0 -124
  887. data/lib/puppet/pops/binder/bindings_checker.rb +0 -201
  888. data/lib/puppet/pops/binder/bindings_composer.rb +0 -181
  889. data/lib/puppet/pops/binder/bindings_factory.rb +0 -813
  890. data/lib/puppet/pops/binder/bindings_label_provider.rb +0 -45
  891. data/lib/puppet/pops/binder/bindings_loader.rb +0 -87
  892. data/lib/puppet/pops/binder/bindings_model.rb +0 -70
  893. data/lib/puppet/pops/binder/bindings_model_dumper.rb +0 -215
  894. data/lib/puppet/pops/binder/bindings_model_meta.rb +0 -215
  895. data/lib/puppet/pops/binder/bindings_validator_factory.rb +0 -28
  896. data/lib/puppet/pops/binder/config/binder_config.rb +0 -107
  897. data/lib/puppet/pops/binder/config/binder_config_checker.rb +0 -142
  898. data/lib/puppet/pops/binder/config/diagnostic_producer.rb +0 -36
  899. data/lib/puppet/pops/binder/config/issues.rb +0 -90
  900. data/lib/puppet/pops/binder/injector.rb +0 -771
  901. data/lib/puppet/pops/binder/injector_entry.rb +0 -57
  902. data/lib/puppet/pops/binder/key_factory.rb +0 -65
  903. data/lib/puppet/pops/binder/producers.rb +0 -831
  904. data/lib/puppet/pops/binder/scheme_handler/confdir_scheme.rb +0 -34
  905. data/lib/puppet/pops/binder/scheme_handler/module_scheme.rb +0 -143
  906. data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +0 -53
  907. data/lib/puppet/pops/binder/system_bindings.rb +0 -60
  908. data/lib/puppet/pops/containment.rb +0 -104
  909. data/lib/puppet/pops/model/model.rb +0 -131
  910. data/lib/puppet/pops/model/model_meta.rb +0 -629
  911. data/lib/puppet/pops/serialization/rgen.rb +0 -152
  912. data/lib/puppet/vendor/load_rgen.rb +0 -2
  913. data/lib/puppet/vendor/rgen/CHANGELOG +0 -197
  914. data/lib/puppet/vendor/rgen/MIT-LICENSE +0 -20
  915. data/lib/puppet/vendor/rgen/PUPPET_README.md +0 -6
  916. data/lib/puppet/vendor/rgen/README.rdoc +0 -78
  917. data/lib/puppet/vendor/rgen/Rakefile +0 -41
  918. data/lib/puppet/vendor/rgen/TODO +0 -41
  919. data/lib/puppet/vendor/rgen/anounce.txt +0 -61
  920. data/lib/puppet/vendor/rgen/design_rationale.txt +0 -71
  921. data/lib/puppet/vendor/rgen/lib/ea_support/ea_support.rb +0 -54
  922. data/lib/puppet/vendor/rgen/lib/ea_support/id_store.rb +0 -32
  923. data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel.rb +0 -562
  924. data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_ext.rb +0 -45
  925. data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_generator.rb +0 -43
  926. data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_to_uml13.rb +0 -103
  927. data/lib/puppet/vendor/rgen/lib/ea_support/uml13_to_uml13_ea.rb +0 -89
  928. data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel.rb +0 -559
  929. data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel_ext.rb +0 -26
  930. data/lib/puppet/vendor/rgen/lib/mmgen/metamodel_generator.rb +0 -20
  931. data/lib/puppet/vendor/rgen/lib/mmgen/mm_ext/ecore_mmgen_ext.rb +0 -91
  932. data/lib/puppet/vendor/rgen/lib/mmgen/mmgen.rb +0 -28
  933. data/lib/puppet/vendor/rgen/lib/mmgen/templates/annotations.tpl +0 -37
  934. data/lib/puppet/vendor/rgen/lib/mmgen/templates/metamodel_generator.tpl +0 -172
  935. data/lib/puppet/vendor/rgen/lib/rgen/array_extensions.rb +0 -45
  936. data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore.rb +0 -218
  937. data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_builder_methods.rb +0 -81
  938. data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_ext.rb +0 -69
  939. data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_interface.rb +0 -47
  940. data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_to_ruby.rb +0 -167
  941. data/lib/puppet/vendor/rgen/lib/rgen/ecore/ruby_to_ecore.rb +0 -91
  942. data/lib/puppet/vendor/rgen/lib/rgen/environment.rb +0 -129
  943. data/lib/puppet/vendor/rgen/lib/rgen/fragment/dump_file_cache.rb +0 -63
  944. data/lib/puppet/vendor/rgen/lib/rgen/fragment/fragmented_model.rb +0 -140
  945. data/lib/puppet/vendor/rgen/lib/rgen/fragment/model_fragment.rb +0 -289
  946. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_instantiator.rb +0 -66
  947. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_xml_instantiator.rb +0 -66
  948. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/default_xml_instantiator.rb +0 -117
  949. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/ecore_xml_instantiator.rb +0 -169
  950. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_instantiator.rb +0 -126
  951. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.rb +0 -331
  952. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.y +0 -94
  953. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/nodebased_xml_instantiator.rb +0 -137
  954. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/qualified_name_resolver.rb +0 -97
  955. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/reference_resolver.rb +0 -128
  956. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/resolution_helper.rb +0 -47
  957. data/lib/puppet/vendor/rgen/lib/rgen/instantiator/xmi11_instantiator.rb +0 -168
  958. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder.rb +0 -224
  959. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_extensions.rb +0 -556
  960. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_runtime.rb +0 -174
  961. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/constant_order_helper.rb +0 -89
  962. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/data_types.rb +0 -77
  963. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/annotation.rb +0 -30
  964. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/feature.rb +0 -168
  965. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/mm_multiple.rb +0 -23
  966. data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/module_extension.rb +0 -42
  967. data/lib/puppet/vendor/rgen/lib/rgen/model_builder.rb +0 -32
  968. data/lib/puppet/vendor/rgen/lib/rgen/model_builder/builder_context.rb +0 -334
  969. data/lib/puppet/vendor/rgen/lib/rgen/model_builder/model_serializer.rb +0 -225
  970. data/lib/puppet/vendor/rgen/lib/rgen/model_builder/reference_resolver.rb +0 -156
  971. data/lib/puppet/vendor/rgen/lib/rgen/serializer/json_serializer.rb +0 -121
  972. data/lib/puppet/vendor/rgen/lib/rgen/serializer/opposite_reference_filter.rb +0 -18
  973. data/lib/puppet/vendor/rgen/lib/rgen/serializer/qualified_name_provider.rb +0 -47
  974. data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi11_serializer.rb +0 -116
  975. data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi20_serializer.rb +0 -71
  976. data/lib/puppet/vendor/rgen/lib/rgen/serializer/xml_serializer.rb +0 -98
  977. data/lib/puppet/vendor/rgen/lib/rgen/template_language.rb +0 -297
  978. data/lib/puppet/vendor/rgen/lib/rgen/template_language/directory_template_container.rb +0 -83
  979. data/lib/puppet/vendor/rgen/lib/rgen/template_language/output_handler.rb +0 -87
  980. data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_container.rb +0 -234
  981. data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_helper.rb +0 -26
  982. data/lib/puppet/vendor/rgen/lib/rgen/transformer.rb +0 -475
  983. data/lib/puppet/vendor/rgen/lib/rgen/util/auto_class_creator.rb +0 -61
  984. data/lib/puppet/vendor/rgen/lib/rgen/util/cached_glob.rb +0 -67
  985. data/lib/puppet/vendor/rgen/lib/rgen/util/file_cache_map.rb +0 -124
  986. data/lib/puppet/vendor/rgen/lib/rgen/util/file_change_detector.rb +0 -84
  987. data/lib/puppet/vendor/rgen/lib/rgen/util/method_delegation.rb +0 -114
  988. data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator.rb +0 -68
  989. data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator_base.rb +0 -142
  990. data/lib/puppet/vendor/rgen/lib/rgen/util/model_dumper.rb +0 -29
  991. data/lib/puppet/vendor/rgen/lib/rgen/util/name_helper.rb +0 -42
  992. data/lib/puppet/vendor/rgen/lib/rgen/util/pattern_matcher.rb +0 -329
  993. data/lib/puppet/vendor/rgen/lib/transformers/ecore_to_uml13.rb +0 -79
  994. data/lib/puppet/vendor/rgen/lib/transformers/uml13_to_ecore.rb +0 -127
  995. data/lib/puppet/vendor/rgen/test/array_extensions_test.rb +0 -64
  996. data/lib/puppet/vendor/rgen/test/ea_instantiator_test.rb +0 -35
  997. data/lib/puppet/vendor/rgen/test/ea_serializer_test.rb +0 -23
  998. data/lib/puppet/vendor/rgen/test/ecore_self_test.rb +0 -54
  999. data/lib/puppet/vendor/rgen/test/environment_test.rb +0 -90
  1000. data/lib/puppet/vendor/rgen/test/json_test.rb +0 -171
  1001. data/lib/puppet/vendor/rgen/test/metamodel_builder_test.rb +0 -1482
  1002. data/lib/puppet/vendor/rgen/test/metamodel_from_ecore_test.rb +0 -57
  1003. data/lib/puppet/vendor/rgen/test/metamodel_order_test.rb +0 -131
  1004. data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test.rb +0 -98
  1005. data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/TestModel.rb +0 -70
  1006. data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel.ecore +0 -42
  1007. data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel_from_ecore.rb +0 -44
  1008. data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/using_builtin_types.ecore +0 -9
  1009. data/lib/puppet/vendor/rgen/test/method_delegation_test.rb +0 -178
  1010. data/lib/puppet/vendor/rgen/test/model_builder/builder_context_test.rb +0 -59
  1011. data/lib/puppet/vendor/rgen/test/model_builder/builder_test.rb +0 -242
  1012. data/lib/puppet/vendor/rgen/test/model_builder/ecore_original.rb +0 -163
  1013. data/lib/puppet/vendor/rgen/test/model_builder/ecore_original_regenerated.rb +0 -163
  1014. data/lib/puppet/vendor/rgen/test/model_builder/reference_resolver_test.rb +0 -156
  1015. data/lib/puppet/vendor/rgen/test/model_builder/serializer_test.rb +0 -94
  1016. data/lib/puppet/vendor/rgen/test/model_builder/statemachine_metamodel.rb +0 -42
  1017. data/lib/puppet/vendor/rgen/test/model_builder/test_model/statemachine1.rb +0 -23
  1018. data/lib/puppet/vendor/rgen/test/model_builder_test.rb +0 -6
  1019. data/lib/puppet/vendor/rgen/test/model_fragment_test.rb +0 -30
  1020. data/lib/puppet/vendor/rgen/test/output_handler_test.rb +0 -58
  1021. data/lib/puppet/vendor/rgen/test/qualified_name_provider_test.rb +0 -48
  1022. data/lib/puppet/vendor/rgen/test/qualified_name_resolver_test.rb +0 -102
  1023. data/lib/puppet/vendor/rgen/test/reference_resolver_test.rb +0 -117
  1024. data/lib/puppet/vendor/rgen/test/rgen_test.rb +0 -26
  1025. data/lib/puppet/vendor/rgen/test/template_language_test.rb +0 -163
  1026. data/lib/puppet/vendor/rgen/test/template_language_test/expected_result1.txt +0 -29
  1027. data/lib/puppet/vendor/rgen/test/template_language_test/expected_result2.txt +0 -9
  1028. data/lib/puppet/vendor/rgen/test/template_language_test/expected_result3.txt +0 -4
  1029. data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestDefaultIndent.out +0 -1
  1030. data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestTabIndent.out +0 -1
  1031. data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/a.tpl +0 -12
  1032. data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/b.tpl +0 -5
  1033. data/lib/puppet/vendor/rgen/test/template_language_test/templates/code/array.tpl +0 -11
  1034. data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/author.tpl +0 -7
  1035. data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/chapter.tpl +0 -5
  1036. data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/local.tpl +0 -8
  1037. data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/test.tpl +0 -8
  1038. data/lib/puppet/vendor/rgen/test/template_language_test/templates/evaluate_test/test.tpl +0 -7
  1039. data/lib/puppet/vendor/rgen/test/template_language_test/templates/indent_string_test.tpl +0 -12
  1040. data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/c/cmod.tpl +0 -1
  1041. data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/chapter.tpl +0 -3
  1042. data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_backslash_r_test.tpl +0 -5
  1043. data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/no_indent.tpl +0 -3
  1044. data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/sub1/no_indent.tpl +0 -3
  1045. data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test.tpl +0 -24
  1046. data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test2.tpl +0 -13
  1047. data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test3.tpl +0 -10
  1048. data/lib/puppet/vendor/rgen/test/template_language_test/templates/null_context_test.tpl +0 -17
  1049. data/lib/puppet/vendor/rgen/test/template_language_test/templates/root.tpl +0 -31
  1050. data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1.tpl +0 -9
  1051. data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1/sub1.tpl +0 -3
  1052. data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/test.tpl +0 -4
  1053. data/lib/puppet/vendor/rgen/test/template_language_test/testout.txt +0 -29
  1054. data/lib/puppet/vendor/rgen/test/testmodel/class_model_checker.rb +0 -119
  1055. data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.eap +0 -0
  1056. data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.xml +0 -1029
  1057. data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel_partial.xml +0 -317
  1058. data/lib/puppet/vendor/rgen/test/testmodel/ecore_model_checker.rb +0 -101
  1059. data/lib/puppet/vendor/rgen/test/testmodel/manual_testmodel.xml +0 -22
  1060. data/lib/puppet/vendor/rgen/test/testmodel/object_model_checker.rb +0 -67
  1061. data/lib/puppet/vendor/rgen/test/transformer_test.rb +0 -254
  1062. data/lib/puppet/vendor/rgen/test/util/file_cache_map_test.rb +0 -99
  1063. data/lib/puppet/vendor/rgen/test/util/pattern_matcher_test.rb +0 -97
  1064. data/lib/puppet/vendor/rgen/test/util_test.rb +0 -5
  1065. data/lib/puppet/vendor/rgen/test/xml_instantiator_test.rb +0 -160
  1066. data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_ecore_model_checker.rb +0 -94
  1067. data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_ecore_instantiator.rb +0 -53
  1068. data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_metamodel.rb +0 -49
  1069. data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_to_ecore.rb +0 -75
  1070. data/lib/puppet/vendor/rgen_patch.rb +0 -132
  1071. data/lib/semver.rb +0 -146
  1072. data/man/man8/extlookup2hiera.8 +0 -10
  1073. data/man/man8/puppet-file.8 +0 -189
  1074. data/man/man8/puppet-generate.8 +0 -84
  1075. data/man/man8/puppet-lookup.8 +0 -87
  1076. data/man/man8/puppet-resource_type.8 +0 -188
  1077. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
  1078. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/lib/puppet/bindings/xyz/default.rb +0 -9
  1079. data/spec/fixtures/unit/data_providers/environments/sample/environment.conf +0 -2
  1080. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/hiera.yaml +0 -5
  1081. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet/bindings/backend/default.rb +0 -9
  1082. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet_x/backend/special_data_provider_factory.rb +0 -23
  1083. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/manifests/init.pp +0 -5
  1084. data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/metadata.json +0 -9
  1085. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet/bindings/dataprovider/default.rb +0 -54
  1086. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +0 -33
  1087. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +0 -33
  1088. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +0 -5
  1089. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
  1090. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/bindings/bad_data/default.rb +0 -9
  1091. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb +0 -9
  1092. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet/bindings/metawcp/default.rb +0 -10
  1093. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet_x/thallgren/sample_module_data.rb +0 -23
  1094. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/manifests/init.pp +0 -3
  1095. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/metadata.json +0 -9
  1096. data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +0 -36
  1097. data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +0 -3
  1098. data/spec/unit/application/inspect_spec.rb +0 -316
  1099. data/spec/unit/data_providers/custom_data_provider_spec.rb +0 -50
  1100. data/spec/unit/face/file_spec.rb +0 -14
  1101. data/spec/unit/indirector/catalog/static_compiler_spec.rb +0 -255
  1102. data/spec/unit/indirector/resource_type/parser_spec.rb +0 -259
  1103. data/spec/unit/indirector/resource_type/rest_spec.rb +0 -14
  1104. data/spec/unit/pops/binder/binder_spec.rb +0 -43
  1105. data/spec/unit/pops/binder/bindings_checker_spec.rb +0 -155
  1106. data/spec/unit/pops/binder/bindings_composer_spec.rb +0 -64
  1107. data/spec/unit/pops/binder/bindings_validator_factory_spec.rb +0 -18
  1108. data/spec/unit/pops/binder/config/binder_config_spec.rb +0 -42
  1109. data/spec/unit/pops/binder/injector_spec.rb +0 -768
  1110. data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +0 -23
  1111. data/spec/unit/pops/serialization/rgen_spec.rb +0 -88
  1112. data/spec/unit/semver_spec.rb +0 -546
@@ -1,41 +0,0 @@
1
- require 'rubygems/package_task'
2
- require 'rdoc/task'
3
-
4
- RGenGemSpec = Gem::Specification.new do |s|
5
- s.name = %q{rgen}
6
- s.version = "0.7.0"
7
- s.date = Time.now.strftime("%Y-%m-%d")
8
- s.summary = %q{Ruby Modelling and Generator Framework}
9
- s.email = %q{martin dot thiede at gmx de}
10
- s.homepage = %q{http://ruby-gen.org}
11
- s.rubyforge_project = %q{rgen}
12
- s.description = %q{RGen is a framework for Model Driven Software Development (MDSD) in Ruby. This means that it helps you build Metamodels, instantiate Models, modify and transform Models and finally generate arbitrary textual content from it.}
13
- s.authors = ["Martin Thiede"]
14
- gemfiles = Rake::FileList.new
15
- gemfiles.include("{lib,test}/**/*")
16
- gemfiles.include("README.rdoc", "CHANGELOG", "MIT-LICENSE", "Rakefile")
17
- gemfiles.exclude(/\b\.bak\b/)
18
- s.files = gemfiles
19
- s.rdoc_options = ["--main", "README.rdoc", "-x", "test", "-x", "metamodels", "-x", "ea_support/uml13*"]
20
- s.extra_rdoc_files = ["README.rdoc", "CHANGELOG", "MIT-LICENSE"]
21
- end
22
-
23
- RDoc::Task.new do |rd|
24
- rd.main = "README.rdoc"
25
- rd.rdoc_files.include("README.rdoc", "CHANGELOG", "MIT-LICENSE", "lib/**/*.rb")
26
- rd.rdoc_files.exclude("lib/metamodels/*")
27
- rd.rdoc_files.exclude("lib/ea_support/uml13*")
28
- rd.rdoc_dir = "doc"
29
- end
30
-
31
- RGenPackageTask = Gem::PackageTask.new(RGenGemSpec) do |p|
32
- p.need_zip = false
33
- end
34
-
35
- task :prepare_package_rdoc => :rdoc do
36
- RGenPackageTask.package_files.include("doc/**/*")
37
- end
38
-
39
- task :release => [:prepare_package_rdoc, :package]
40
-
41
- task :clobber => [:clobber_rdoc, :clobber_package]
@@ -1,41 +0,0 @@
1
- =Known Bugs
2
- * <% expand ... :indent => 0 %> seems to change behaviour of active template not only expanded subtemplate
3
- * Ecore build in types (EString, ...) do not work in ECore instantiator, define your own EDatatype instead
4
- * ECore datatypes in RGen::ECore should use Java like instanceClassNames
5
- * overloading of transformation rules not working correctly
6
- * with \r\n in templates, empty lines appear in output
7
- * <%nl%> after <%nows%> creates no indentation (<%nl%> in another template in same file)
8
-
9
- =Major issues
10
- * XML instantiator documentation
11
- * revise builder datatypes, especially enum implementation using Enum objects as types,
12
- also revise ecore metamodel at this point
13
- * revise documentation of BuilderExtensions
14
- * further cleanup EA UML import/export
15
- - The differences between EA UML and uml13_metamodel.rb seem to be violations by EA, ArgoUML follows the standard much more closely
16
- - Enums should be instances of Enumeration class with EnumerationLiterals (UML Standard),
17
- for EA convert to Classes with stereotype "enumeration" and attributes as literals
18
- (this is what EA 7 creates when clicking on the "New Enumeration" button, EA will reference these classes as type)
19
- This is whats missing for Pragma MM generators.
20
- - Support primitive types as instances of DataType (which basically have a name) instead of tagged values
21
- (this should also be working with EA 7, the tagged values are just add on)
22
- - Support more UML metamodel features in the transformers
23
- * Model Serializer:
24
- - make "name" attribute configurable
25
- - convert chars in string into something Ruby compatible (e.g newline to \n)
26
-
27
- =Minor Issues
28
- * allow definition of templates from within regular code
29
- * indexed find in environment
30
- * XMI Instantiator fixmap: add element names to make feature names unique
31
- * no error for expand '..', :forach => (foreach misspelled)
32
- * With JRuby (1.3.1) exceptions raised in templates have a short or no backtrace
33
-
34
-
35
- * extended constraint checks (feature bounds)
36
- * class filter in RText language
37
- * root classes for RText language
38
- * command/class aliases in RText language
39
- * language variants (different root classes depending on file type)
40
- * reference name in reference_qualifier
41
-
@@ -1,61 +0,0 @@
1
- =RGen - Ruby Modelling and Generator Framework
2
-
3
- RGen is a framework to support the "Model Driven Software Development (MDSD)" approach. Some people may want to call just about the same thing "Domain Specific Languages".
4
-
5
- The essence is to have a Metamodel which imposes a structure as well as certain other constraints on the Models to be instantiated from it. The Metamodel can be part of the software which is being developed.
6
- From a formal language point of view, the metamodel could be regarded as a grammer with the model being a sentence of the grammer.
7
-
8
- One possible application of MDSD are large domain specific software systems like banking systems. In this case one would define a metamodel which reflects the application domain (e.g. accounts, customers, their relations, ...).
9
- The metamodel can then serve as a common means of communication between users from the application domain (e.g. the customer) and software developers, as well as between software developers working on different subsystems. In addition, the metamodel can be used to generate recurring parts of the software instead of writing it by hand
10
- (e.g. database interfaces, application server glue code, etc). In a particular project a lot more usescases will typically show up.
11
-
12
- A very good framework implementing the MDSD approach is the open source Java framework OpenArchitectureWare (http://www.openarchitectureware.org/). Actually OpenArchitectureWare inspired the development of RGen.
13
-
14
- RGen implements many features also provided by OpenArchitectureWare:
15
- * Programmatic (textual) definition of Metamodels
16
- * Instantiation of models from various sources (XML, UML Models, ...)
17
- * Support of Model Transformations
18
- * Powerful template language (based on ERB) to generate arbitrary textual content
19
-
20
- In contrast to the mentioned Java framework, RGen is a more lightweight approach.
21
- It can be used to write powerful generator or transformation scripts quickly.
22
- However I believe RGen can also be useful in large software development projects.
23
-
24
-
25
- Here are some example usecases of RGen:
26
-
27
- Example 1: Generating C Code from a XML description
28
- * Directly instantiate the XML file using RGen's XMLInstantiator
29
- An implicit Metamodel (Ruby classes) will be created automatically
30
- The model is now available as Ruby objects in memory
31
- * Use the template language to navigate the instantiated model and generate C code
32
-
33
- Example 2: UML Defined Application specific Metamodel
34
- * Specify your metamodel as a UML Class Diagram
35
- * If the tool you use is Enterprise Architect, the UML Class Diagram can directly be instantiated using RGen's XMIClassInstantiator
36
- * If not, support for your tool should be added. The existing XMI instantiator is basically a transformation from an XMI model to an UML Class model. For a tool producing different XMI output the transformation has to be adapted.
37
- * Use the included MetamodelGenerator to generate Ruby classes from the UML model. These classes act as your application specific metamodel. Of course the generated classes can be extended by hand written code, either by subclassing or by just adding methods using Ruby's open classes. The generated code itself should not be touched.
38
- * Extend RGen with an own instantiator which reads your specific file format and instantiates your application specific metamodel
39
- * Then go on doing transformations on your model(s) or generate output.
40
-
41
-
42
- RGen could also be useful in combination with Rails.
43
- One application to Rails could be to generate not only the model, view and controller classes, but also the database schemas and code reflecting associations between Rails model elements (i.e. the has_many, belongs_to, .. code in the ActiveRecord subclasses)
44
- The base model for such a generation could be a description of the model elements and its associations as an UML class model.
45
- Another application could be to base new Rails generators (like the Login generator, etc) on RGen.
46
-
47
-
48
- =Major Performance Improvement
49
-
50
- RGen 0.4.1 features major performance improvements.
51
- All applications using the template language will be faster now.
52
- Applications using the AbstractXMLInstantiator can benefit if explicit garbage collection is enabled.
53
- (see documentation of AbstractXMLInstantiator)
54
- Another improvement makes the "ecore" class method of classes and modules much faster.
55
- Last but not least the loading of metamodels takes about half the time as before.
56
-
57
- For large models the metamodel generator is about 20 times faster.
58
- Reading a 50 000 lines ecore file now takes 9 seconds on a Centrino Duo 2GHz (85s with RGen 0.4.0)
59
- Generating the RGen metamodel code for the ecore model takes 5 seconds (200s with RGen 0.4.0)
60
- Requiring this RGen metamodel takes about 3 seconds (about 6s with RGen 0.4.0).
61
-
@@ -1,71 +0,0 @@
1
- =ElementSet vs. Array
2
-
3
- Subject:
4
- Use a special array-like class "ElementSet" with the following properties:
5
- * can call methods of elements by . notation
6
- * can use all set and enumerable methods of Array
7
- * enforce constraints regarding type of elements
8
- * auto register/unregister with counterpart of an association
9
-
10
- Dependencies:
11
- * Without the constraint and register/unregister functionality of the ElementSet,
12
- the API of model elements built by MetamodelBuilder has to be different:
13
- instead of "e.myelements << newel" would be "e.addMyelements(newel)"
14
- However this can also be an advantage (see Metamodel Many Assoc API)
15
-
16
- A1. ElementSet:
17
- + nice notation for calling methods of elements (.)
18
- + nice notation for adding/removing elements from a model element
19
- (e.myelements << newel; e.myelements.delete newel)
20
- - complicated to realize
21
- if ElementSet inherits from Array:
22
- constraints/registration can not be garanteed for all add/remove operations
23
- input and output of Array methods must be wrapped into ElementSet objects
24
- if ElementSet delegates to an Array:
25
- all (relevant) methods have to be delegated (methods from including
26
- Enumerable do not automatically return ElementSet objects)
27
- - dot notation for calling methods of elements my lead to errors which are difficult
28
- to find
29
-
30
- A2. Array:
31
- + a separate operator like >> makes calling methods of elements more explicit
32
- + very easy to implement
33
- + easy to understand by users (no "magic" going on)
34
-
35
- Decision: (2006-06-08)
36
- A2. Array
37
- Simplicity of implementation and ease of use are more important than a nice notation
38
-
39
-
40
-
41
- = Metamodel Many Assoc API
42
-
43
- Subject:
44
- How to implement the API to deal with to-many associations of model elements.
45
- One option is an array like object which is held by the model element for each to-many
46
- association and which is given to the user for modification (external array).
47
- The other option is an internal array which is only accessed via add and remove
48
- methods
49
-
50
- Dependencies:
51
- If an external array is used, this array must check the association's constraints
52
- and register/unregister with the other side of the association.
53
- (see ElementSet vs. Array)
54
-
55
- A1.External Array
56
- + nice API (e.myassocs << newel; e. myassocs.delete newel)
57
- + this is a Rails like API
58
- - a reference to the array might be stored somewhere else in the program and
59
- accidentially be modified, this would modify the model element it belongs to
60
- as well as register/unregister with other model elements leading to errors
61
- which are hard to find
62
- - an external array is complicated to implement (see ElementSet vs. Array)
63
-
64
- A2.Internal Array
65
- + easy to understand for non Ruby/Rails aware users
66
- + simple implementation
67
-
68
- Decision: (2006-06-09)
69
- A2. Internal Array
70
- Simplicity of implementation and ease of use are more important than a nice notation
71
-
@@ -1,54 +0,0 @@
1
- require 'ea_support/uml13_ea_metamodel'
2
- require 'ea_support/uml13_ea_metamodel_ext'
3
- require 'ea_support/uml13_to_uml13_ea'
4
- require 'ea_support/uml13_ea_to_uml13'
5
- require 'ea_support/id_store'
6
- require 'rgen/serializer/xmi11_serializer'
7
- require 'rgen/instantiator/xmi11_instantiator'
8
- require 'rgen/environment'
9
-
10
- module EASupport
11
-
12
- FIXMAP = {
13
- :tags => {
14
- "EAStub" => proc { |tag, attr|
15
- UML13EA::Class.new(:name => attr["name"]) if attr["UMLType"] == "Class"
16
- }
17
- }
18
- }
19
-
20
- INFO = XMI11Instantiator::INFO
21
- WARN = XMI11Instantiator::WARN
22
- ERROR = XMI11Instantiator::ERROR
23
-
24
- def self.instantiateUML13FromXMI11(envUML, fileName, options={})
25
- envUMLEA = RGen::Environment.new
26
- xmiInst = XMI11Instantiator.new(envUMLEA, FIXMAP, options[:loglevel] || ERROR)
27
- xmiInst.add_metamodel("omg.org/UML1.3", UML13EA)
28
- File.open(fileName) do |f|
29
- xmiInst.instantiate(f.read)
30
- end
31
- trans = UML13EAToUML13.new(envUMLEA, envUML)
32
- trans.transform
33
- trans.cleanModel if options[:clean_model]
34
- end
35
-
36
- def self.serializeUML13ToXMI11(envUML, fileName, options={})
37
- envUMLEA = RGen::Environment.new
38
-
39
- UML13EA.idStore = options[:keep_ids] ?
40
- IdStore.new(File.dirname(fileName)+"/"+File.basename(fileName)+".ids") : IdStore.new
41
-
42
- UML13ToUML13EA.new(envUML, envUMLEA).transform
43
-
44
- File.open(fileName, "w") do |f|
45
- xmiSer = RGen::Serializer::XMI11Serializer.new(f)
46
- xmiSer.setNamespace("UML","omg.org/UML1.3")
47
- xmiSer.serialize(envUMLEA.find(:class => UML13EA::Model).first,
48
- {:documentation => {:exporter => "Enterprise Architect", :exporterVersion => "2.5"}})
49
- end
50
-
51
- UML13EA.idStore.store
52
- end
53
-
54
- end
@@ -1,32 +0,0 @@
1
- require 'yaml'
2
-
3
- class IdStore
4
- def initialize(fileName=nil)
5
- if fileName
6
- raise "Base directory does not exist: #{File.dirname(fileName)}" \
7
- unless File.exist?(File.dirname(fileName))
8
- @idsFileName = fileName
9
- end
10
- @idHash = nil
11
- end
12
-
13
- def idHash
14
- load unless @idHash
15
- @idHash
16
- end
17
-
18
- def load
19
- if @idsFileName && File.exist?(@idsFileName)
20
- @idHash = YAML.load_file(@idsFileName) || {}
21
- else
22
- @idHash = {}
23
- end
24
- end
25
-
26
- def store
27
- return unless @idsFileName
28
- File.open(@idsFileName,"w") do |f|
29
- YAML.dump(@idHash, f)
30
- end
31
- end
32
- end
@@ -1,562 +0,0 @@
1
- require 'rgen/metamodel_builder'
2
-
3
- module UML13EA
4
- extend RGen::MetamodelBuilder::ModuleExtension
5
- include RGen::MetamodelBuilder::DataTypes
6
-
7
- OperationDirectionKind = Enum.new(:name => 'OperationDirectionKind', :literals =>[ ])
8
- MessageDirectionKind = Enum.new(:name => 'MessageDirectionKind', :literals =>[ ])
9
- ChangeableKind = Enum.new(:name => 'ChangeableKind', :literals =>[ :changeable, :none, :addOnly ])
10
- PseudostateKind = Enum.new(:name => 'PseudostateKind', :literals =>[ :initial, :deepHistory, :shallowHistory, :join, :fork, :branch, :junction, :final ])
11
- ParameterDirectionKind = Enum.new(:name => 'ParameterDirectionKind', :literals =>[ :in, :inout, :out, :return ])
12
- ScopeKind = Enum.new(:name => 'ScopeKind', :literals =>[ :instance, :classifier ])
13
- OrderingKind = Enum.new(:name => 'OrderingKind', :literals =>[ :unordered, :ordered, :sorted ])
14
- CallConcurrencyKind = Enum.new(:name => 'CallConcurrencyKind', :literals =>[ :sequential, :guarded, :concurrent ])
15
- AggregationKind = Enum.new(:name => 'AggregationKind', :literals =>[ :none, :aggregate, :composite, :shared ])
16
- VisibilityKind = Enum.new(:name => 'VisibilityKind', :literals =>[ :public, :protected, :private ])
17
- end
18
-
19
- class UML13EA::Expression < RGen::MetamodelBuilder::MMBase
20
- has_attr 'language', String
21
- has_attr 'body', String
22
- end
23
-
24
- class UML13EA::ActionExpression < UML13EA::Expression
25
- end
26
-
27
- class UML13EA::Element < RGen::MetamodelBuilder::MMBase
28
- end
29
-
30
- class UML13EA::ModelElement < UML13EA::Element
31
- has_attr 'name', String
32
- has_attr 'visibility', UML13EA::VisibilityKind, :defaultValueLiteral => "public"
33
- has_attr 'isSpecification', Boolean
34
- end
35
-
36
- class UML13EA::Namespace < UML13EA::ModelElement
37
- end
38
-
39
- class UML13EA::GeneralizableElement < UML13EA::ModelElement
40
- has_attr 'isRoot', Boolean
41
- has_attr 'isLeaf', Boolean
42
- has_attr 'isAbstract', Boolean
43
- end
44
-
45
- class UML13EA::Classifier < RGen::MetamodelBuilder::MMMultiple(UML13EA::GeneralizableElement, UML13EA::Namespace)
46
- end
47
-
48
- class UML13EA::ClassifierRole < UML13EA::Classifier
49
- end
50
-
51
- class UML13EA::PresentationElement < UML13EA::Element
52
- end
53
-
54
- class UML13EA::DiagramElement < UML13EA::PresentationElement
55
- has_attr 'geometry', String
56
- has_attr 'style', String
57
- end
58
-
59
- class UML13EA::Feature < UML13EA::ModelElement
60
- has_attr 'ownerScope', UML13EA::ScopeKind, :defaultValueLiteral => "instance"
61
- end
62
-
63
- class UML13EA::BehavioralFeature < UML13EA::Feature
64
- has_attr 'isQuery', Boolean
65
- end
66
-
67
- class UML13EA::Method < UML13EA::BehavioralFeature
68
- end
69
-
70
- class UML13EA::Actor < UML13EA::Classifier
71
- end
72
-
73
- class UML13EA::DataType < UML13EA::Classifier
74
- end
75
-
76
- class UML13EA::Primitive < UML13EA::DataType
77
- end
78
-
79
- class UML13EA::Action < UML13EA::ModelElement
80
- has_attr 'isAsynchronous', Boolean
81
- end
82
-
83
- class UML13EA::SendAction < UML13EA::Action
84
- end
85
-
86
- class UML13EA::Interface < UML13EA::Classifier
87
- end
88
-
89
- class UML13EA::Event < UML13EA::ModelElement
90
- end
91
-
92
- class UML13EA::ChangeEvent < UML13EA::Event
93
- end
94
-
95
- class UML13EA::Partition < UML13EA::ModelElement
96
- end
97
-
98
- class UML13EA::Comment < UML13EA::ModelElement
99
- has_attr 'body', String
100
- end
101
-
102
- class UML13EA::ProgrammingLanguageType < UML13EA::DataType
103
- end
104
-
105
- class UML13EA::StateMachine < UML13EA::ModelElement
106
- end
107
-
108
- class UML13EA::Call < RGen::MetamodelBuilder::MMBase
109
- end
110
-
111
- class UML13EA::Operation < UML13EA::BehavioralFeature
112
- has_attr 'concurrency', UML13EA::CallConcurrencyKind, :defaultValueLiteral => "sequential"
113
- has_attr 'isRoot', Boolean
114
- has_attr 'isLeaf', Boolean
115
- has_attr 'isAbstract', Boolean
116
- end
117
-
118
- class UML13EA::XmiIdProvider < RGen::MetamodelBuilder::MMBase
119
- end
120
-
121
- class UML13EA::StateVertex < RGen::MetamodelBuilder::MMMultiple(UML13EA::ModelElement, UML13EA::XmiIdProvider)
122
- end
123
-
124
- class UML13EA::SynchState < UML13EA::StateVertex
125
- has_attr 'bound', Integer
126
- end
127
-
128
- class UML13EA::ClassifierInState < UML13EA::Classifier
129
- end
130
-
131
- class UML13EA::Link < UML13EA::ModelElement
132
- end
133
-
134
- class UML13EA::ProcedureExpression < UML13EA::Expression
135
- end
136
-
137
- class UML13EA::CallEvent < UML13EA::Event
138
- end
139
-
140
- class UML13EA::AssignmentAction < UML13EA::Action
141
- end
142
-
143
- class UML13EA::Relationship < UML13EA::ModelElement
144
- end
145
-
146
- class UML13EA::Association < RGen::MetamodelBuilder::MMMultiple(UML13EA::GeneralizableElement, UML13EA::Relationship, UML13EA::XmiIdProvider)
147
- end
148
-
149
- class UML13EA::AssociationRole < UML13EA::Association
150
- end
151
-
152
- class UML13EA::Diagram < UML13EA::PresentationElement
153
- has_attr 'name', String
154
- has_attr 'toolName', String
155
- has_attr 'diagramType', String
156
- has_attr 'style', String
157
- end
158
-
159
- class UML13EA::MultiplicityRange < RGen::MetamodelBuilder::MMBase
160
- has_attr 'lower', String
161
- has_attr 'upper', String
162
- end
163
-
164
- class UML13EA::ActionSequence < UML13EA::Action
165
- end
166
-
167
- class UML13EA::Constraint < UML13EA::ModelElement
168
- end
169
-
170
- class UML13EA::Instance < UML13EA::ModelElement
171
- end
172
-
173
- class UML13EA::UseCaseInstance < UML13EA::Instance
174
- end
175
-
176
- class UML13EA::State < UML13EA::StateVertex
177
- end
178
-
179
- class UML13EA::CompositeState < UML13EA::State
180
- has_attr 'isConcurrent', Boolean
181
- end
182
-
183
- class UML13EA::SubmachineState < UML13EA::CompositeState
184
- end
185
-
186
- class UML13EA::SubactivityState < UML13EA::SubmachineState
187
- has_attr 'isDynamic', Boolean
188
- end
189
-
190
- class UML13EA::StructuralFeature < UML13EA::Feature
191
- has_attr 'changeable', UML13EA::ChangeableKind, :defaultValueLiteral => "changeable"
192
- has_attr 'targetScope', UML13EA::ScopeKind, :defaultValueLiteral => "instance"
193
- end
194
-
195
- class UML13EA::Attribute < UML13EA::StructuralFeature
196
- end
197
-
198
- class UML13EA::Flow < UML13EA::Relationship
199
- end
200
-
201
- class UML13EA::Class < RGen::MetamodelBuilder::MMMultiple(UML13EA::Classifier, UML13EA::XmiIdProvider)
202
- has_attr 'isActive', Boolean
203
- end
204
-
205
- class UML13EA::Guard < UML13EA::ModelElement
206
- end
207
-
208
- class UML13EA::CreateAction < UML13EA::Action
209
- end
210
-
211
- class UML13EA::IterationExpression < UML13EA::Expression
212
- end
213
-
214
- class UML13EA::ReturnAction < UML13EA::Action
215
- end
216
-
217
- class UML13EA::Parameter < UML13EA::ModelElement
218
- has_attr 'kind', UML13EA::ParameterDirectionKind, :defaultValueLiteral => "inout"
219
- end
220
-
221
- class UML13EA::Dependency < UML13EA::Relationship
222
- end
223
-
224
- class UML13EA::Binding < UML13EA::Dependency
225
- end
226
-
227
- class UML13EA::Package < RGen::MetamodelBuilder::MMMultiple(UML13EA::Namespace, UML13EA::GeneralizableElement, UML13EA::XmiIdProvider)
228
- end
229
-
230
- class UML13EA::ObjectSetExpression < UML13EA::Expression
231
- end
232
-
233
- class UML13EA::StubState < UML13EA::StateVertex
234
- has_attr 'referenceState', String
235
- end
236
-
237
- class UML13EA::Stereotype < UML13EA::GeneralizableElement
238
- has_attr 'icon', String
239
- has_attr 'baseClass', String
240
- end
241
-
242
- class UML13EA::Object < UML13EA::Instance
243
- end
244
-
245
- class UML13EA::LinkObject < RGen::MetamodelBuilder::MMMultiple(UML13EA::Link, UML13EA::Object)
246
- end
247
-
248
- class UML13EA::ComponentInstance < UML13EA::Instance
249
- end
250
-
251
- class UML13EA::Usage < UML13EA::Dependency
252
- end
253
-
254
- class UML13EA::SignalEvent < UML13EA::Event
255
- end
256
-
257
- class UML13EA::Structure < UML13EA::DataType
258
- end
259
-
260
- class UML13EA::AssociationEnd < RGen::MetamodelBuilder::MMMultiple(UML13EA::ModelElement, UML13EA::XmiIdProvider)
261
- has_attr 'isNavigable', Boolean, :defaultValueLiteral => "false"
262
- has_attr 'isOrdered', Boolean, :defaultValueLiteral => "false"
263
- has_attr 'aggregation', UML13EA::AggregationKind, :defaultValueLiteral => "none"
264
- has_attr 'targetScope', UML13EA::ScopeKind, :defaultValueLiteral => "instance"
265
- has_attr 'changeable', UML13EA::ChangeableKind, :defaultValueLiteral => "changeable"
266
- has_attr 'multiplicity', String
267
- end
268
-
269
- class UML13EA::AssociationEndRole < UML13EA::AssociationEnd
270
- end
271
-
272
- class UML13EA::Signal < UML13EA::Classifier
273
- end
274
-
275
- class UML13EA::Exception < UML13EA::Signal
276
- end
277
-
278
- class UML13EA::Extend < UML13EA::Relationship
279
- end
280
-
281
- class UML13EA::Argument < UML13EA::ModelElement
282
- end
283
-
284
- class UML13EA::TemplateParameter < RGen::MetamodelBuilder::MMBase
285
- end
286
-
287
- class UML13EA::PseudoState < UML13EA::StateVertex
288
- has_attr 'kind', UML13EA::PseudostateKind, :defaultValueLiteral => "initial"
289
- end
290
-
291
- class UML13EA::SimpleState < UML13EA::State
292
- end
293
-
294
- class UML13EA::ActionState < UML13EA::SimpleState
295
- has_attr 'isDynamic', Boolean
296
- end
297
-
298
- class UML13EA::TypeExpression < UML13EA::Expression
299
- end
300
-
301
- class UML13EA::DestroyAction < UML13EA::Action
302
- end
303
-
304
- class UML13EA::TerminateAction < UML13EA::Action
305
- end
306
-
307
- class UML13EA::Generalization < RGen::MetamodelBuilder::MMMultiple(UML13EA::Relationship, UML13EA::XmiIdProvider)
308
- has_attr 'discriminator', String
309
- end
310
-
311
- class UML13EA::FinalState < UML13EA::State
312
- end
313
-
314
- class UML13EA::Subsystem < RGen::MetamodelBuilder::MMMultiple(UML13EA::Package, UML13EA::Classifier)
315
- has_attr 'isInstantiable', Boolean
316
- end
317
-
318
- class UML13EA::TimeExpression < UML13EA::Expression
319
- end
320
-
321
- class UML13EA::TaggedValue < UML13EA::Element
322
- has_attr 'tag', String
323
- has_attr 'value', String
324
- end
325
-
326
- class UML13EA::DataValue < UML13EA::Instance
327
- end
328
-
329
- class UML13EA::Transition < UML13EA::ModelElement
330
- end
331
-
332
- class UML13EA::NodeInstance < UML13EA::Instance
333
- end
334
-
335
- class UML13EA::Component < UML13EA::Classifier
336
- end
337
-
338
- class UML13EA::Message < UML13EA::ModelElement
339
- end
340
-
341
- class UML13EA::Enumeration < UML13EA::DataType
342
- end
343
-
344
- class UML13EA::Reception < UML13EA::BehavioralFeature
345
- has_attr 'isPolymorphic', Boolean
346
- has_attr 'specification', String
347
- end
348
-
349
- class UML13EA::Include < UML13EA::Relationship
350
- end
351
-
352
- class UML13EA::CallState < UML13EA::ActionState
353
- end
354
-
355
- class UML13EA::ElementResidence < RGen::MetamodelBuilder::MMBase
356
- has_attr 'visibility', UML13EA::VisibilityKind, :defaultValueLiteral => "public"
357
- end
358
-
359
- class UML13EA::UninterpretedAction < UML13EA::Action
360
- end
361
-
362
- class UML13EA::ArgListsExpression < UML13EA::Expression
363
- end
364
-
365
- class UML13EA::Stimulus < UML13EA::ModelElement
366
- end
367
-
368
- class UML13EA::AssociationClass < RGen::MetamodelBuilder::MMMultiple(UML13EA::Class, UML13EA::Association)
369
- end
370
-
371
- class UML13EA::Node < UML13EA::Classifier
372
- end
373
-
374
- class UML13EA::ElementImport < RGen::MetamodelBuilder::MMBase
375
- has_attr 'visibility', UML13EA::VisibilityKind, :defaultValueLiteral => "public"
376
- has_attr 'alias', String
377
- end
378
-
379
- class UML13EA::BooleanExpression < UML13EA::Expression
380
- end
381
-
382
- class UML13EA::Collaboration < RGen::MetamodelBuilder::MMMultiple(UML13EA::GeneralizableElement, UML13EA::Namespace)
383
- end
384
-
385
- class UML13EA::CallAction < UML13EA::Action
386
- end
387
-
388
- class UML13EA::UseCase < UML13EA::Classifier
389
- end
390
-
391
- class UML13EA::ActivityModel < UML13EA::StateMachine
392
- end
393
-
394
- class UML13EA::Permission < UML13EA::Dependency
395
- end
396
-
397
- class UML13EA::Interaction < UML13EA::ModelElement
398
- end
399
-
400
- class UML13EA::EnumerationLiteral < RGen::MetamodelBuilder::MMBase
401
- has_attr 'name', String
402
- end
403
-
404
- class UML13EA::Model < UML13EA::Package
405
- end
406
-
407
- class UML13EA::LinkEnd < UML13EA::ModelElement
408
- end
409
-
410
- class UML13EA::ExtensionPoint < UML13EA::ModelElement
411
- has_attr 'location', String
412
- end
413
-
414
- class UML13EA::Multiplicity < RGen::MetamodelBuilder::MMBase
415
- end
416
-
417
- class UML13EA::ObjectFlowState < UML13EA::SimpleState
418
- has_attr 'isSynch', Boolean
419
- end
420
-
421
- class UML13EA::AttributeLink < UML13EA::ModelElement
422
- end
423
-
424
- class UML13EA::MappingExpression < UML13EA::Expression
425
- end
426
-
427
- class UML13EA::TimeEvent < UML13EA::Event
428
- end
429
-
430
- class UML13EA::Abstraction < UML13EA::Dependency
431
- end
432
-
433
- class UML13EA::ActionInstance < RGen::MetamodelBuilder::MMBase
434
- end
435
-
436
-
437
- UML13EA::ClassifierRole.contains_one_uni 'multiplicity', UML13EA::Multiplicity
438
- UML13EA::ClassifierRole.has_many 'availableContents', UML13EA::ModelElement
439
- UML13EA::ClassifierRole.has_many 'availableFeature', UML13EA::Feature
440
- UML13EA::ClassifierRole.has_one 'base', UML13EA::Classifier, :lowerBound => 1
441
- UML13EA::Diagram.contains_many 'element', UML13EA::DiagramElement, 'diagram'
442
- UML13EA::Method.many_to_one 'specification', UML13EA::Operation, 'method'
443
- UML13EA::Method.contains_one_uni 'body', UML13EA::ProcedureExpression
444
- UML13EA::SendAction.has_one 'signal', UML13EA::Signal, :lowerBound => 1
445
- UML13EA::ChangeEvent.contains_one_uni 'changeExpression', UML13EA::BooleanExpression
446
- UML13EA::Partition.has_many 'contents', UML13EA::ModelElement
447
- UML13EA::Comment.many_to_many 'annotatedElement', UML13EA::ModelElement, 'comment'
448
- UML13EA::ProgrammingLanguageType.contains_one_uni 'type', UML13EA::TypeExpression
449
- UML13EA::Action.contains_one_uni 'recurrence', UML13EA::IterationExpression
450
- UML13EA::Action.contains_one_uni 'target', UML13EA::ObjectSetExpression
451
- UML13EA::Action.contains_one_uni 'script', UML13EA::ActionExpression
452
- UML13EA::Action.contains_many_uni 'actualArgument', UML13EA::Argument
453
- UML13EA::StateMachine.many_to_one 'context', UML13EA::ModelElement, 'behavior'
454
- UML13EA::StateMachine.contains_many_uni 'transitions', UML13EA::Transition
455
- UML13EA::StateMachine.contains_one_uni 'top', UML13EA::State, :lowerBound => 1
456
- UML13EA::Operation.one_to_many 'occurrence', UML13EA::CallEvent, 'operation'
457
- UML13EA::ClassifierInState.has_one 'type', UML13EA::Classifier, :lowerBound => 1
458
- UML13EA::ClassifierInState.has_many 'inState', UML13EA::State
459
- UML13EA::Link.contains_many_uni 'connection', UML13EA::LinkEnd, :lowerBound => 2
460
- UML13EA::Link.has_one 'association', UML13EA::Association, :lowerBound => 1
461
- UML13EA::PresentationElement.many_to_many 'subject', UML13EA::ModelElement, 'presentation'
462
- UML13EA::AssociationRole.contains_one_uni 'multiplicity', UML13EA::Multiplicity
463
- UML13EA::AssociationRole.has_one 'base', UML13EA::Association
464
- UML13EA::Diagram.has_one 'owner', UML13EA::ModelElement, :lowerBound => 1
465
- UML13EA::ActionSequence.contains_many_uni 'action', UML13EA::Action
466
- UML13EA::Constraint.contains_one_uni 'body', UML13EA::BooleanExpression
467
- UML13EA::Constraint.many_to_many 'constrainedElement', UML13EA::ModelElement, 'constraint', :lowerBound => 1
468
- UML13EA::SubactivityState.contains_one_uni 'dynamicArguments', UML13EA::ArgListsExpression
469
- UML13EA::AssociationEnd.contains_many 'qualifier', UML13EA::Attribute, 'associationEnd'
470
- UML13EA::Attribute.contains_one_uni 'initialValue', UML13EA::Expression
471
- UML13EA::Flow.many_to_many 'source', UML13EA::ModelElement, 'sourceFlow'
472
- UML13EA::Flow.many_to_many 'target', UML13EA::ModelElement, 'targetFlow'
473
- UML13EA::Guard.contains_one_uni 'expression', UML13EA::BooleanExpression
474
- UML13EA::CreateAction.has_one 'instantiation', UML13EA::Classifier, :lowerBound => 1
475
- UML13EA::Namespace.contains_many 'ownedElement', UML13EA::ModelElement, 'namespace'
476
- UML13EA::Parameter.contains_one_uni 'defaultValue', UML13EA::Expression
477
- UML13EA::Parameter.many_to_many 'state', UML13EA::ObjectFlowState, 'parameter'
478
- UML13EA::Parameter.has_one 'type', UML13EA::Classifier, :lowerBound => 1
479
- UML13EA::Binding.has_many 'argument', UML13EA::ModelElement, :lowerBound => 1
480
- UML13EA::Event.contains_many_uni 'parameters', UML13EA::Parameter
481
- UML13EA::Dependency.many_to_many 'supplier', UML13EA::ModelElement, 'supplierDependency', :opposite_lowerBound => 1
482
- UML13EA::Dependency.many_to_many 'client', UML13EA::ModelElement, 'clientDependency', :opposite_lowerBound => 1
483
- UML13EA::Package.contains_many 'importedElement', UML13EA::ElementImport, 'package'
484
- UML13EA::Classifier.contains_many 'feature', UML13EA::Feature, 'owner'
485
- UML13EA::Stereotype.one_to_many 'extendedElement', UML13EA::ModelElement, 'stereotype'
486
- UML13EA::Stereotype.has_many 'requiredTag', UML13EA::TaggedValue
487
- UML13EA::ComponentInstance.has_many 'resident', UML13EA::Instance
488
- UML13EA::SignalEvent.many_to_one 'signal', UML13EA::Signal, 'occurrence', :lowerBound => 1
489
- UML13EA::Instance.contains_many_uni 'slot', UML13EA::AttributeLink
490
- UML13EA::Instance.one_to_many 'linkEnd', UML13EA::LinkEnd, 'instance'
491
- UML13EA::Instance.has_many 'classifier', UML13EA::Classifier, :lowerBound => 1
492
- UML13EA::AssociationEndRole.has_many 'availableQualifier', UML13EA::Attribute
493
- UML13EA::AssociationEndRole.has_one 'base', UML13EA::AssociationEnd
494
- UML13EA::Extend.many_to_one 'extension', UML13EA::UseCase, 'extend'
495
- UML13EA::Extend.contains_one_uni 'condition', UML13EA::BooleanExpression
496
- UML13EA::Extend.has_many 'extensionPoint', UML13EA::ExtensionPoint, :lowerBound => 1
497
- UML13EA::Extend.has_one 'base', UML13EA::UseCase, :lowerBound => 1
498
- UML13EA::Argument.contains_one_uni 'value', UML13EA::Expression
499
- UML13EA::TemplateParameter.has_one 'modelElement', UML13EA::ModelElement
500
- UML13EA::TemplateParameter.has_one 'defaultElement', UML13EA::ModelElement
501
- UML13EA::ActionState.contains_one_uni 'dynamicArguments', UML13EA::ArgListsExpression
502
- UML13EA::GeneralizableElement.one_to_many 'specialization', UML13EA::Generalization, 'supertype'
503
- UML13EA::GeneralizableElement.one_to_many 'generalization', UML13EA::Generalization, 'subtype'
504
- UML13EA::StateVertex.one_to_many 'incoming', UML13EA::Transition, 'target', :opposite_lowerBound => 1
505
- UML13EA::StateVertex.one_to_many 'outgoing', UML13EA::Transition, 'source', :opposite_lowerBound => 1
506
- UML13EA::CompositeState.contains_many 'substate', UML13EA::StateVertex, 'container', :lowerBound => 1
507
- UML13EA::ModelElement.contains_many 'taggedValue', UML13EA::TaggedValue, 'modelElement'
508
- UML13EA::StructuralFeature.contains_one_uni 'multiplicity', UML13EA::Multiplicity
509
- UML13EA::StructuralFeature.has_one 'type', UML13EA::Classifier, :lowerBound => 1
510
- UML13EA::Transition.has_one 'trigger', UML13EA::Event
511
- UML13EA::Transition.contains_one_uni 'effect', UML13EA::Action
512
- UML13EA::Transition.contains_one_uni 'guard', UML13EA::Guard
513
- UML13EA::NodeInstance.has_many 'resident', UML13EA::ComponentInstance
514
- UML13EA::Component.contains_many 'residentElement', UML13EA::ElementResidence, 'implementationLocation'
515
- UML13EA::Component.many_to_many 'deploymentLocation', UML13EA::Node, 'resident'
516
- UML13EA::Message.has_one 'action', UML13EA::Action, :lowerBound => 1
517
- UML13EA::Message.has_one 'communicationConnection', UML13EA::AssociationRole
518
- UML13EA::Message.has_many 'predecessor', UML13EA::Message
519
- UML13EA::Message.has_one 'receiver', UML13EA::ClassifierRole, :lowerBound => 1
520
- UML13EA::Message.has_one 'sender', UML13EA::ClassifierRole, :lowerBound => 1
521
- UML13EA::Message.has_one 'activator', UML13EA::Message
522
- UML13EA::Interaction.contains_many 'message', UML13EA::Message, 'interaction', :lowerBound => 1
523
- UML13EA::ModelElement.one_to_many 'elementResidence', UML13EA::ElementResidence, 'resident'
524
- UML13EA::ModelElement.contains_many_uni 'templateParameter', UML13EA::TemplateParameter
525
- UML13EA::ModelElement.one_to_many 'elementImport', UML13EA::ElementImport, 'modelElement'
526
- UML13EA::Enumeration.contains_many_uni 'literal', UML13EA::EnumerationLiteral, :lowerBound => 1
527
- UML13EA::Reception.many_to_one 'signal', UML13EA::Signal, 'reception'
528
- UML13EA::Association.contains_many 'connection', UML13EA::AssociationEnd, 'association', :lowerBound => 2
529
- UML13EA::Include.many_to_one 'base', UML13EA::UseCase, 'include'
530
- UML13EA::Include.has_one 'addition', UML13EA::UseCase, :lowerBound => 1
531
- UML13EA::Classifier.many_to_many 'participant', UML13EA::AssociationEnd, 'specification'
532
- UML13EA::Classifier.one_to_many 'associationEnd', UML13EA::AssociationEnd, 'type'
533
- UML13EA::Stimulus.has_one 'dispatchAction', UML13EA::Action, :lowerBound => 1
534
- UML13EA::Stimulus.has_one 'communicationLink', UML13EA::Link
535
- UML13EA::Stimulus.has_one 'receiver', UML13EA::Instance, :lowerBound => 1
536
- UML13EA::Stimulus.has_one 'sender', UML13EA::Instance, :lowerBound => 1
537
- UML13EA::Stimulus.has_many 'argument', UML13EA::Instance
538
- UML13EA::State.contains_one_uni 'doActivity', UML13EA::Action
539
- UML13EA::State.contains_many_uni 'internalTransition', UML13EA::Transition
540
- UML13EA::State.has_many 'deferrableEvent', UML13EA::Event
541
- UML13EA::State.contains_one_uni 'exit', UML13EA::Action
542
- UML13EA::State.contains_one_uni 'entry', UML13EA::Action
543
- UML13EA::Collaboration.has_one 'representedOperation', UML13EA::Operation
544
- UML13EA::Collaboration.has_one 'representedClassifier', UML13EA::Classifier
545
- UML13EA::Collaboration.has_many 'constrainingElement', UML13EA::ModelElement
546
- UML13EA::Collaboration.contains_many 'interaction', UML13EA::Interaction, 'context'
547
- UML13EA::CallAction.has_one 'operation', UML13EA::Operation, :lowerBound => 1
548
- UML13EA::UseCase.has_many 'extensionPoint', UML13EA::ExtensionPoint
549
- UML13EA::ActivityModel.contains_many_uni 'partition', UML13EA::Partition
550
- UML13EA::Interaction.contains_many_uni 'link', UML13EA::Link
551
- UML13EA::LinkEnd.has_one 'associationEnd', UML13EA::AssociationEnd, :lowerBound => 1
552
- UML13EA::LinkEnd.has_one 'participant', UML13EA::Instance, :lowerBound => 1
553
- UML13EA::BehavioralFeature.many_to_many 'raisedSignal', UML13EA::Signal, 'context'
554
- UML13EA::BehavioralFeature.contains_many_uni 'parameter', UML13EA::Parameter
555
- UML13EA::SubmachineState.has_one 'submachine', UML13EA::StateMachine, :lowerBound => 1
556
- UML13EA::Multiplicity.contains_many_uni 'range', UML13EA::MultiplicityRange, :lowerBound => 1
557
- UML13EA::ObjectFlowState.has_one 'type', UML13EA::Classifier, :lowerBound => 1
558
- UML13EA::ObjectFlowState.has_one 'available', UML13EA::Parameter, :lowerBound => 1
559
- UML13EA::AttributeLink.has_one 'value', UML13EA::Instance, :lowerBound => 1
560
- UML13EA::AttributeLink.has_one 'attribute', UML13EA::Attribute, :lowerBound => 1
561
- UML13EA::TimeEvent.contains_one_uni 'when', UML13EA::TimeExpression
562
- UML13EA::Abstraction.contains_one_uni 'mapping', UML13EA::MappingExpression