puppet 4.10.12 → 5.0.0
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.
- data/CONTRIBUTING.md +32 -15
- data/Gemfile +31 -14
- data/MAINTAINERS +0 -5
- data/README.md +11 -11
- data/Rakefile +2 -1
- data/conf/auth.conf +21 -0
- data/conf/fileserver.conf +7 -12
- data/conf/hiera.yaml +11 -0
- data/ext/debian/puppet-common.install +0 -1
- data/ext/debian/puppet-common.manpages +0 -2
- data/ext/hiera/hiera.yaml +15 -0
- data/ext/logcheck/puppet +1 -1
- data/ext/project_data.yaml +4 -9
- data/ext/puppet-test +0 -24
- data/ext/rack/config.ru +2 -2
- data/ext/redhat/puppet.spec.erb +0 -3
- data/ext/windows/service/daemon.rb +8 -14
- data/install.rb +1 -1
- data/lib/hiera/puppet_function.rb +1 -1
- data/lib/puppet.rb +7 -5
- data/lib/puppet/agent.rb +29 -38
- data/lib/puppet/agent/disabler.rb +3 -3
- data/lib/puppet/agent/locker.rb +3 -3
- data/lib/puppet/application.rb +12 -29
- data/lib/puppet/application/agent.rb +20 -18
- data/lib/puppet/application/apply.rb +22 -18
- data/lib/puppet/application/cert.rb +2 -7
- data/lib/puppet/application/config.rb +0 -1
- data/lib/puppet/application/describe.rb +1 -1
- data/lib/puppet/application/device.rb +94 -76
- data/lib/puppet/application/doc.rb +6 -6
- data/lib/puppet/application/face_base.rb +8 -13
- data/lib/puppet/application/filebucket.rb +12 -29
- data/lib/puppet/application/help.rb +0 -1
- data/lib/puppet/application/lookup.rb +106 -101
- data/lib/puppet/application/master.rb +14 -22
- data/lib/puppet/application/resource.rb +13 -10
- data/lib/puppet/application_support.rb +1 -6
- data/lib/puppet/configurer.rb +33 -45
- data/lib/puppet/configurer/downloader.rb +2 -2
- data/lib/puppet/configurer/fact_handler.rb +13 -4
- data/lib/puppet/context.rb +5 -5
- data/lib/puppet/context/trusted_information.rb +1 -1
- data/lib/puppet/defaults.rb +18 -131
- data/lib/puppet/environments.rb +1 -1
- data/lib/puppet/error.rb +1 -1
- data/lib/puppet/external/nagios/grammar.ry +1 -1
- data/lib/puppet/external/nagios/parser.rb +1 -1
- data/lib/puppet/external/pson/common.rb +4 -0
- data/lib/puppet/face/ca.rb +49 -42
- data/lib/puppet/face/catalog.rb +1 -1
- data/lib/puppet/face/catalog/select.rb +4 -4
- data/lib/puppet/face/certificate.rb +20 -20
- data/lib/puppet/face/config.rb +9 -22
- data/lib/puppet/face/epp.rb +59 -61
- data/lib/puppet/face/facts.rb +4 -4
- data/lib/puppet/face/generate.rb +8 -8
- data/lib/puppet/face/help.rb +7 -7
- data/lib/puppet/face/key.rb +2 -2
- data/lib/puppet/face/man.rb +5 -5
- data/lib/puppet/face/module.rb +2 -2
- data/lib/puppet/face/module/build.rb +7 -7
- data/lib/puppet/face/module/changes.rb +6 -6
- data/lib/puppet/face/module/generate.rb +24 -24
- data/lib/puppet/face/module/install.rb +13 -9
- data/lib/puppet/face/module/list.rb +16 -12
- data/lib/puppet/face/module/search.rb +4 -4
- data/lib/puppet/face/module/uninstall.rb +13 -10
- data/lib/puppet/face/module/upgrade.rb +11 -7
- data/lib/puppet/face/node.rb +5 -5
- data/lib/puppet/face/node/clean.rb +8 -8
- data/lib/puppet/face/parser.rb +16 -16
- data/lib/puppet/face/plugin.rb +6 -6
- data/lib/puppet/face/report.rb +9 -9
- data/lib/puppet/face/resource.rb +12 -12
- data/lib/puppet/face/status.rb +4 -4
- data/lib/puppet/feature/base.rb +3 -2
- data/lib/puppet/feature/eventlog.rb +1 -1
- data/lib/puppet/file_bucket/dipper.rb +9 -9
- data/lib/puppet/file_bucket/file.rb +4 -17
- data/lib/puppet/file_serving/base.rb +3 -3
- data/lib/puppet/file_serving/configuration.rb +3 -3
- data/lib/puppet/file_serving/configuration/parser.rb +12 -12
- data/lib/puppet/file_serving/content.rb +1 -1
- data/lib/puppet/file_serving/fileset.rb +7 -5
- data/lib/puppet/file_serving/http_metadata.rb +1 -1
- data/lib/puppet/file_serving/metadata.rb +7 -7
- data/lib/puppet/file_serving/mount.rb +1 -1
- data/lib/puppet/file_serving/mount/file.rb +6 -6
- data/lib/puppet/file_serving/mount/modules.rb +1 -1
- data/lib/puppet/file_serving/terminus_selector.rb +1 -1
- data/lib/puppet/file_system/file_impl.rb +2 -2
- data/lib/puppet/file_system/memory_impl.rb +1 -1
- data/lib/puppet/file_system/path_pattern.rb +6 -6
- data/lib/puppet/file_system/uniquefile.rb +2 -2
- data/lib/puppet/file_system/windows.rb +3 -3
- data/lib/puppet/forge.rb +8 -14
- data/lib/puppet/forge/errors.rb +12 -12
- data/lib/puppet/forge/repository.rb +1 -1
- data/lib/puppet/functions.rb +17 -45
- data/lib/puppet/functions/annotate.rb +108 -0
- data/lib/puppet/functions/binary_file.rb +1 -1
- data/lib/puppet/functions/call.rb +42 -0
- data/lib/puppet/functions/defined.rb +4 -4
- data/lib/puppet/functions/dig.rb +1 -1
- data/lib/puppet/functions/each.rb +4 -10
- data/lib/puppet/functions/epp.rb +0 -3
- data/lib/puppet/functions/hiera_include.rb +1 -1
- data/lib/puppet/functions/hocon_data.rb +2 -2
- data/lib/puppet/functions/json_data.rb +1 -1
- data/lib/puppet/functions/lookup.rb +2 -2
- data/lib/puppet/functions/map.rb +3 -13
- data/lib/puppet/functions/match.rb +2 -2
- data/lib/puppet/functions/reduce.rb +0 -31
- data/lib/puppet/functions/require.rb +1 -1
- data/lib/puppet/functions/slice.rb +3 -3
- data/lib/puppet/functions/strftime.rb +10 -2
- data/lib/puppet/functions/unique.rb +132 -0
- data/lib/puppet/generate/models/type/property.rb +1 -1
- data/lib/puppet/generate/type.rb +12 -12
- data/lib/puppet/graph/relationship_graph.rb +4 -7
- data/lib/puppet/graph/simple_graph.rb +45 -66
- data/lib/puppet/indirector.rb +2 -2
- data/lib/puppet/indirector/catalog/compiler.rb +58 -44
- data/lib/puppet/indirector/catalog/json.rb +18 -0
- data/lib/puppet/indirector/certificate/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_request/ca.rb +3 -3
- data/lib/puppet/indirector/certificate_request/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_revocation_list/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/certificate_status/file.rb +6 -6
- data/lib/puppet/indirector/exec.rb +2 -2
- data/lib/puppet/indirector/face.rb +18 -18
- data/lib/puppet/indirector/file_bucket_file/file.rb +10 -9
- data/lib/puppet/indirector/file_metadata/http.rb +1 -1
- data/lib/puppet/indirector/file_server.rb +10 -2
- data/lib/puppet/indirector/hiera.rb +5 -3
- data/lib/puppet/indirector/indirection.rb +16 -18
- data/lib/puppet/indirector/json.rb +11 -12
- data/lib/puppet/indirector/key/disabled_ca.rb +1 -1
- data/lib/puppet/indirector/key/file.rb +2 -2
- data/lib/puppet/indirector/ldap.rb +6 -5
- data/lib/puppet/indirector/memory.rb +1 -1
- data/lib/puppet/indirector/msgpack.rb +8 -7
- data/lib/puppet/indirector/node/exec.rb +8 -6
- data/lib/puppet/indirector/node/ldap.rb +9 -7
- data/lib/puppet/indirector/node/plain.rb +2 -1
- data/lib/puppet/indirector/node/write_only_yaml.rb +6 -1
- data/lib/puppet/indirector/node/yaml.rb +0 -9
- data/lib/puppet/indirector/report/processor.rb +2 -2
- data/lib/puppet/indirector/report/rest.rb +13 -0
- data/lib/puppet/indirector/request.rb +11 -23
- data/lib/puppet/indirector/resource/ral.rb +1 -1
- data/lib/puppet/indirector/resource/validator.rb +1 -1
- data/lib/puppet/indirector/rest.rb +28 -10
- data/lib/puppet/indirector/ssl_file.rb +9 -9
- data/lib/puppet/indirector/terminus.rb +3 -3
- data/lib/puppet/indirector/yaml.rb +5 -5
- data/lib/puppet/info_service/class_information_service.rb +4 -5
- data/lib/puppet/interface.rb +2 -7
- data/lib/puppet/interface/face_collection.rb +6 -1
- data/lib/puppet/module.rb +10 -35
- data/lib/puppet/module_tool.rb +7 -3
- data/lib/puppet/module_tool/applications/application.rb +8 -9
- data/lib/puppet/module_tool/applications/builder.rb +5 -6
- data/lib/puppet/module_tool/applications/checksummer.rb +2 -2
- data/lib/puppet/module_tool/applications/installer.rb +11 -10
- data/lib/puppet/module_tool/applications/searcher.rb +1 -1
- data/lib/puppet/module_tool/applications/uninstaller.rb +2 -1
- data/lib/puppet/module_tool/applications/unpacker.rb +3 -3
- data/lib/puppet/module_tool/applications/upgrader.rb +10 -9
- data/lib/puppet/module_tool/contents_description.rb +1 -1
- data/lib/puppet/module_tool/dependency.rb +0 -1
- data/lib/puppet/module_tool/errors/installer.rb +22 -22
- data/lib/puppet/module_tool/errors/shared.rb +44 -42
- data/lib/puppet/module_tool/errors/uninstaller.rb +13 -9
- data/lib/puppet/module_tool/errors/upgrader.rb +11 -11
- data/lib/puppet/module_tool/install_directory.rb +1 -1
- data/lib/puppet/module_tool/installed_modules.rb +3 -3
- data/lib/puppet/module_tool/local_tarball.rb +4 -4
- data/lib/puppet/module_tool/metadata.rb +16 -13
- data/lib/puppet/module_tool/shared_behaviors.rb +6 -6
- data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +1 -1
- data/lib/puppet/module_tool/skeleton/templates/generator/README.md.erb +10 -4
- data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +2 -2
- data/lib/puppet/module_tool/tar.rb +2 -1
- data/lib/puppet/module_tool/tar/mini.rb +4 -57
- data/lib/puppet/network/auth_config_parser.rb +12 -11
- data/lib/puppet/network/authconfig.rb +2 -2
- data/lib/puppet/network/authstore.rb +2 -2
- data/lib/puppet/network/format.rb +7 -7
- data/lib/puppet/network/format_handler.rb +12 -9
- data/lib/puppet/network/format_support.rb +11 -5
- data/lib/puppet/network/formats.rb +38 -27
- data/lib/puppet/network/http/api/indirected_routes.rb +72 -33
- data/lib/puppet/network/http/api/master/v3/environment.rb +33 -14
- data/lib/puppet/network/http/compression.rb +10 -7
- data/lib/puppet/network/http/connection.rb +19 -23
- data/lib/puppet/network/http/error.rb +14 -10
- data/lib/puppet/network/http/factory.rb +0 -12
- data/lib/puppet/network/http/handler.rb +8 -4
- data/lib/puppet/network/http/issues.rb +1 -0
- data/lib/puppet/network/http/pool.rb +1 -1
- data/lib/puppet/network/http/rack.rb +2 -2
- data/lib/puppet/network/http/rack/rest.rb +1 -1
- data/lib/puppet/network/http/request.rb +34 -20
- data/lib/puppet/network/http/response.rb +13 -1
- data/lib/puppet/network/http/webrick.rb +8 -6
- data/lib/puppet/network/http/webrick/rest.rb +2 -2
- data/lib/puppet/network/rights.rb +6 -6
- data/lib/puppet/network/server.rb +2 -2
- data/lib/puppet/node.rb +25 -23
- data/lib/puppet/node/environment.rb +21 -4
- data/lib/puppet/node/facts.rb +0 -14
- data/lib/puppet/parameter.rb +3 -28
- data/lib/puppet/parameter/package_options.rb +1 -1
- data/lib/puppet/parameter/path.rb +3 -3
- data/lib/puppet/parameter/value_collection.rb +4 -4
- data/lib/puppet/parser/ast/leaf.rb +1 -1
- data/lib/puppet/parser/ast/node.rb +1 -1
- data/lib/puppet/parser/ast/pops_bridge.rb +3 -3
- data/lib/puppet/parser/ast/resource.rb +1 -1
- data/lib/puppet/parser/ast/resource_instance.rb +1 -1
- data/lib/puppet/parser/ast/resourceparam.rb +1 -1
- data/lib/puppet/parser/compiler.rb +44 -117
- data/lib/puppet/parser/compiler/catalog_validator/env_relationship_validator.rb +2 -2
- data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +6 -9
- data/lib/puppet/parser/compiler/catalog_validator/site_validator.rb +1 -1
- data/lib/puppet/parser/e4_parser_adapter.rb +1 -2
- data/lib/puppet/parser/environment_compiler.rb +13 -15
- data/lib/puppet/parser/functions.rb +6 -6
- data/lib/puppet/parser/functions/assert_type.rb +1 -1
- data/lib/puppet/parser/functions/binary_file.rb +1 -1
- data/lib/puppet/parser/functions/break.rb +1 -1
- data/lib/puppet/parser/functions/contain.rb +1 -1
- data/lib/puppet/parser/functions/create_resources.rb +3 -3
- data/lib/puppet/parser/functions/defined.rb +1 -1
- data/lib/puppet/parser/functions/dig.rb +1 -1
- data/lib/puppet/parser/functions/each.rb +1 -1
- data/lib/puppet/parser/functions/epp.rb +1 -4
- data/lib/puppet/parser/functions/file.rb +1 -1
- data/lib/puppet/parser/functions/filter.rb +1 -1
- data/lib/puppet/parser/functions/find_file.rb +1 -1
- data/lib/puppet/parser/functions/generate.rb +5 -4
- data/lib/puppet/parser/functions/hiera_include.rb +1 -1
- data/lib/puppet/parser/functions/include.rb +2 -1
- data/lib/puppet/parser/functions/inline_epp.rb +1 -1
- data/lib/puppet/parser/functions/inline_template.rb +1 -1
- data/lib/puppet/parser/functions/lest.rb +1 -1
- data/lib/puppet/parser/functions/map.rb +1 -1
- data/lib/puppet/parser/functions/match.rb +1 -1
- data/lib/puppet/parser/functions/new.rb +45 -30
- data/lib/puppet/parser/functions/next.rb +1 -1
- data/lib/puppet/parser/functions/reduce.rb +1 -1
- data/lib/puppet/parser/functions/require.rb +1 -1
- data/lib/puppet/parser/functions/return.rb +2 -23
- data/lib/puppet/parser/functions/reverse_each.rb +1 -1
- data/lib/puppet/parser/functions/slice.rb +1 -1
- data/lib/puppet/parser/functions/sprintf.rb +3 -17
- data/lib/puppet/parser/functions/step.rb +1 -1
- data/lib/puppet/parser/functions/strftime.rb +1 -1
- data/lib/puppet/parser/functions/then.rb +1 -1
- data/lib/puppet/parser/functions/type.rb +1 -1
- data/lib/puppet/parser/functions/with.rb +1 -1
- data/lib/puppet/parser/parser_factory.rb +0 -30
- data/lib/puppet/parser/relationship.rb +49 -20
- data/lib/puppet/parser/resource.rb +31 -30
- data/lib/puppet/parser/resource/param.rb +0 -3
- data/lib/puppet/parser/scope.rb +122 -168
- data/lib/puppet/parser/templatewrapper.rb +2 -2
- data/lib/puppet/parser/type_loader.rb +1 -1
- data/lib/puppet/plugins/configuration.rb +15 -67
- data/lib/puppet/plugins/syntax_checkers.rb +6 -11
- data/lib/puppet/pops.rb +7 -37
- data/lib/puppet/pops/adaptable.rb +8 -3
- data/lib/puppet/pops/adapters.rb +23 -83
- data/lib/puppet/pops/evaluator/access_operator.rb +10 -39
- data/lib/puppet/pops/evaluator/collector_transformer.rb +7 -12
- data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -1
- data/lib/puppet/pops/evaluator/compare_operator.rb +7 -7
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +46 -38
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +2 -9
- data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -2
- data/lib/puppet/pops/evaluator/puppet_proc.rb +1 -1
- data/lib/puppet/pops/evaluator/relationship_operator.rb +26 -9
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +17 -1
- data/lib/puppet/pops/evaluator/runtime3_support.rb +13 -30
- data/lib/puppet/pops/functions/dispatch.rb +1 -6
- data/lib/puppet/pops/issues.rb +182 -162
- data/lib/puppet/pops/loader/base_loader.rb +2 -2
- data/lib/puppet/pops/loader/gem_support.rb +2 -2
- data/lib/puppet/pops/loader/module_loaders.rb +59 -8
- data/lib/puppet/pops/loader/predefined_loader.rb +1 -6
- data/lib/puppet/pops/loader/puppet_function_instantiator.rb +8 -8
- data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +9 -10
- data/lib/puppet/pops/loader/ruby_function_instantiator.rb +3 -3
- data/lib/puppet/pops/loader/static_loader.rb +33 -64
- data/lib/puppet/pops/loader/type_definition_instantiator.rb +7 -7
- data/lib/puppet/pops/loader/typed_name.rb +5 -0
- data/lib/puppet/pops/loaders.rb +15 -5
- data/lib/puppet/pops/lookup.rb +4 -2
- data/lib/puppet/pops/lookup/context.rb +1 -1
- data/lib/puppet/pops/lookup/data_provider.rb +3 -18
- data/lib/puppet/pops/lookup/global_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/hiera_config.rb +12 -35
- data/lib/puppet/pops/lookup/interpolation.rb +1 -0
- data/lib/puppet/pops/lookup/invocation.rb +1 -1
- data/lib/puppet/pops/lookup/lookup_adapter.rb +20 -64
- data/lib/puppet/pops/lookup/lookup_key.rb +1 -1
- data/lib/puppet/pops/lookup/module_data_provider.rb +1 -1
- data/lib/puppet/pops/lookup/sub_lookup.rb +2 -1
- data/lib/puppet/pops/merge_strategy.rb +1 -1
- data/lib/puppet/pops/model/ast.pp +692 -0
- data/lib/puppet/pops/model/ast.rb +4833 -0
- data/lib/puppet/pops/model/ast_transformer.rb +9 -10
- data/lib/puppet/pops/model/factory.rb +454 -527
- data/lib/puppet/pops/model/model_label_provider.rb +3 -2
- data/lib/puppet/pops/model/model_tree_dumper.rb +9 -8
- data/lib/puppet/pops/parser/egrammar.ra +66 -60
- data/lib/puppet/pops/parser/eparser.rb +1483 -1578
- data/lib/puppet/pops/parser/evaluating_parser.rb +5 -5
- data/lib/puppet/pops/parser/heredoc_support.rb +1 -1
- data/lib/puppet/pops/parser/interpolation_support.rb +4 -4
- data/lib/puppet/pops/parser/lexer2.rb +7 -33
- data/lib/puppet/pops/parser/locator.rb +39 -16
- data/lib/puppet/pops/parser/parser_support.rb +25 -29
- data/lib/puppet/pops/patterns.rb +1 -2
- data/lib/puppet/pops/pcore.rb +26 -19
- data/lib/puppet/pops/resource/param.rb +1 -1
- data/lib/puppet/pops/resource/resource_type_impl.rb +2 -2
- data/lib/puppet/pops/serialization.rb +25 -1
- data/lib/puppet/pops/serialization/abstract_writer.rb +9 -1
- data/lib/puppet/pops/serialization/deserializer.rb +1 -1
- data/lib/puppet/pops/serialization/from_data_converter.rb +181 -0
- data/lib/puppet/pops/serialization/json.rb +4 -4
- data/lib/puppet/pops/serialization/json_path.rb +126 -0
- data/lib/puppet/pops/serialization/object.rb +5 -5
- data/lib/puppet/pops/serialization/serializer.rb +23 -9
- data/lib/puppet/pops/serialization/to_data_converter.rb +292 -0
- data/lib/puppet/pops/time/timespan.rb +11 -11
- data/lib/puppet/pops/time/timestamp.rb +8 -8
- data/lib/puppet/pops/types/annotatable.rb +7 -7
- data/lib/puppet/pops/types/annotation.rb +71 -0
- data/lib/puppet/pops/types/class_loader.rb +4 -6
- data/lib/puppet/pops/types/enumeration.rb +2 -2
- data/lib/puppet/pops/types/iterable.rb +2 -4
- data/lib/puppet/pops/types/p_binary_type.rb +7 -1
- data/lib/puppet/pops/types/p_meta_type.rb +16 -12
- data/lib/puppet/pops/types/p_object_type.rb +135 -96
- data/lib/puppet/pops/types/p_runtime_type.rb +1 -1
- data/lib/puppet/pops/types/p_sem_ver_range_type.rb +6 -2
- data/lib/puppet/pops/types/p_timespan_type.rb +55 -4
- data/lib/puppet/pops/types/p_type_set_type.rb +42 -34
- data/lib/puppet/pops/types/puppet_object.rb +13 -3
- data/lib/puppet/pops/types/ruby_generator.rb +291 -127
- data/lib/puppet/pops/types/ruby_method.rb +31 -0
- data/lib/puppet/pops/types/string_converter.rb +107 -30
- data/lib/puppet/pops/types/type_calculator.rb +56 -94
- data/lib/puppet/pops/types/type_factory.rb +34 -6
- data/lib/puppet/pops/types/type_formatter.rb +64 -16
- data/lib/puppet/pops/types/type_mismatch_describer.rb +13 -22
- data/lib/puppet/pops/types/type_parser.rb +28 -13
- data/lib/puppet/pops/types/type_set_reference.rb +6 -6
- data/lib/puppet/pops/types/types.rb +169 -245
- data/lib/puppet/pops/utils.rb +0 -24
- data/lib/puppet/pops/validation.rb +3 -9
- data/lib/puppet/pops/validation/checker4_0.rb +86 -76
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +0 -1
- data/lib/puppet/pops/visitor.rb +21 -0
- data/lib/puppet/property.rb +17 -14
- data/lib/puppet/property/ensure.rb +3 -3
- data/lib/puppet/property/list.rb +1 -10
- data/lib/puppet/provider.rb +2 -0
- data/lib/puppet/provider/aixobject.rb +7 -7
- data/lib/puppet/provider/augeas/augeas.rb +37 -37
- data/lib/puppet/provider/command.rb +1 -1
- data/lib/puppet/provider/cron/crontab.rb +2 -2
- data/lib/puppet/provider/exec.rb +4 -4
- data/lib/puppet/provider/exec/posix.rb +4 -4
- data/lib/puppet/provider/exec/windows.rb +3 -3
- data/lib/puppet/provider/file/posix.rb +5 -5
- data/lib/puppet/provider/file/windows.rb +4 -4
- data/lib/puppet/provider/group/aix.rb +2 -2
- data/lib/puppet/provider/group/groupadd.rb +2 -2
- data/lib/puppet/provider/group/pw.rb +1 -1
- data/lib/puppet/provider/group/windows_adsi.rb +7 -4
- data/lib/puppet/provider/host/parsed.rb +1 -1
- data/lib/puppet/provider/macauthorization/macauthorization.rb +9 -9
- data/lib/puppet/provider/maillist/mailman.rb +2 -2
- data/lib/puppet/provider/mcx/mcxcontent.rb +3 -3
- data/lib/puppet/provider/mount.rb +2 -1
- data/lib/puppet/provider/mount/parsed.rb +10 -8
- data/lib/puppet/provider/naginator.rb +1 -1
- data/lib/puppet/provider/nameservice.rb +8 -10
- data/lib/puppet/provider/nameservice/directoryservice.rb +11 -11
- data/lib/puppet/provider/network_device.rb +2 -1
- data/lib/puppet/provider/package/aix.rb +6 -6
- data/lib/puppet/provider/package/appdmg.rb +2 -2
- data/lib/puppet/provider/package/apple.rb +1 -1
- data/lib/puppet/provider/package/apt.rb +4 -4
- data/lib/puppet/provider/package/aptitude.rb +1 -1
- data/lib/puppet/provider/package/aptrpm.rb +2 -2
- data/lib/puppet/provider/package/blastwave.rb +4 -4
- data/lib/puppet/provider/package/dnf.rb +1 -1
- data/lib/puppet/provider/package/dpkg.rb +3 -3
- data/lib/puppet/provider/package/fink.rb +3 -3
- data/lib/puppet/provider/package/freebsd.rb +1 -1
- data/lib/puppet/provider/package/gem.rb +6 -6
- data/lib/puppet/provider/package/hpux.rb +1 -1
- data/lib/puppet/provider/package/nim.rb +15 -12
- data/lib/puppet/provider/package/openbsd.rb +4 -4
- data/lib/puppet/provider/package/opkg.rb +1 -1
- data/lib/puppet/provider/package/pacman.rb +9 -9
- data/lib/puppet/provider/package/pkg.rb +9 -9
- data/lib/puppet/provider/package/pkgdmg.rb +4 -4
- data/lib/puppet/provider/package/pkgin.rb +3 -3
- data/lib/puppet/provider/package/pkgng.rb +1 -1
- data/lib/puppet/provider/package/pkgutil.rb +6 -6
- data/lib/puppet/provider/package/portage.rb +167 -59
- data/lib/puppet/provider/package/ports.rb +3 -3
- data/lib/puppet/provider/package/portupgrade.rb +4 -4
- data/lib/puppet/provider/package/rpm.rb +7 -4
- data/lib/puppet/provider/package/rug.rb +1 -1
- data/lib/puppet/provider/package/sun.rb +3 -2
- data/lib/puppet/provider/package/up2date.rb +1 -1
- data/lib/puppet/provider/package/urpmi.rb +1 -1
- data/lib/puppet/provider/package/windows.rb +4 -4
- data/lib/puppet/provider/package/windows/package.rb +3 -3
- data/lib/puppet/provider/package/yum.rb +5 -6
- data/lib/puppet/provider/package/zypper.rb +1 -1
- data/lib/puppet/provider/parsedfile.rb +1 -1
- data/lib/puppet/provider/service/base.rb +8 -21
- data/lib/puppet/provider/service/smf.rb +2 -2
- data/lib/puppet/provider/service/systemd.rb +1 -2
- data/lib/puppet/provider/service/upstart.rb +1 -3
- data/lib/puppet/provider/user/aix.rb +2 -2
- data/lib/puppet/provider/user/ldap.rb +1 -1
- data/lib/puppet/provider/user/windows_adsi.rb +1 -1
- data/lib/puppet/provider/yumrepo/inifile.rb +3 -3
- data/lib/puppet/provider/zfs/zfs.rb +1 -5
- data/lib/puppet/reference/configuration.rb +0 -2
- data/lib/puppet/reference/indirection.rb +1 -1
- data/lib/puppet/reference/metaparameter.rb +1 -1
- data/lib/puppet/reference/providers.rb +6 -6
- data/lib/puppet/reference/type.rb +2 -2
- data/lib/puppet/relationship.rb +7 -9
- data/lib/puppet/reports/http.rb +8 -6
- data/lib/puppet/resource.rb +75 -134
- data/lib/puppet/resource/capability_finder.rb +1 -1
- data/lib/puppet/resource/catalog.rb +26 -34
- data/lib/puppet/resource/status.rb +13 -24
- data/lib/puppet/resource/type.rb +13 -61
- data/lib/puppet/resource/type_collection.rb +29 -23
- data/lib/puppet/settings.rb +1 -1
- data/lib/puppet/settings/array_setting.rb +1 -1
- data/lib/puppet/settings/autosign_setting.rb +1 -1
- data/lib/puppet/settings/boolean_setting.rb +1 -1
- data/lib/puppet/settings/config_file.rb +2 -2
- data/lib/puppet/settings/duration_setting.rb +1 -1
- data/lib/puppet/settings/enum_setting.rb +1 -1
- data/lib/puppet/settings/environment_conf.rb +2 -10
- data/lib/puppet/settings/file_setting.rb +2 -2
- data/lib/puppet/settings/priority_setting.rb +1 -1
- data/lib/puppet/settings/server_list_setting.rb +1 -1
- data/lib/puppet/settings/symbolic_enum_setting.rb +1 -1
- data/lib/puppet/settings/terminus_setting.rb +1 -1
- data/lib/puppet/settings/ttl_setting.rb +2 -2
- data/lib/puppet/ssl/base.rb +2 -2
- data/lib/puppet/ssl/certificate_authority.rb +21 -21
- data/lib/puppet/ssl/certificate_authority/interface.rb +13 -13
- data/lib/puppet/ssl/certificate_factory.rb +2 -2
- data/lib/puppet/ssl/certificate_request.rb +14 -14
- data/lib/puppet/ssl/certificate_request_attributes.rb +3 -3
- data/lib/puppet/ssl/certificate_revocation_list.rb +3 -3
- data/lib/puppet/ssl/host.rb +29 -29
- data/lib/puppet/ssl/inventory.rb +1 -1
- data/lib/puppet/ssl/key.rb +1 -1
- data/lib/puppet/ssl/oids.rb +5 -5
- data/lib/puppet/ssl/validator/default_validator.rb +3 -4
- data/lib/puppet/syntax_checkers/base64.rb +7 -7
- data/lib/puppet/syntax_checkers/json.rb +5 -5
- data/lib/puppet/test/test_helper.rb +0 -4
- data/lib/puppet/transaction.rb +38 -23
- data/lib/puppet/transaction/additional_resource_generator.rb +4 -3
- data/lib/puppet/transaction/event.rb +19 -8
- data/lib/puppet/transaction/event_manager.rb +6 -6
- data/lib/puppet/transaction/persistence.rb +6 -6
- data/lib/puppet/transaction/report.rb +34 -47
- data/lib/puppet/transaction/resource_harness.rb +14 -12
- data/lib/puppet/type.rb +9 -7
- data/lib/puppet/type/augeas.rb +2 -2
- data/lib/puppet/type/cron.rb +14 -31
- data/lib/puppet/type/exec.rb +16 -16
- data/lib/puppet/type/file.rb +21 -22
- data/lib/puppet/type/file/content.rb +1 -1
- data/lib/puppet/type/file/group.rb +3 -3
- data/lib/puppet/type/file/mode.rb +6 -6
- data/lib/puppet/type/file/owner.rb +3 -3
- data/lib/puppet/type/file/selcontext.rb +18 -1
- data/lib/puppet/type/file/source.rb +5 -1
- data/lib/puppet/type/filebucket.rb +3 -8
- data/lib/puppet/type/group.rb +2 -2
- data/lib/puppet/type/host.rb +6 -6
- data/lib/puppet/type/interface.rb +1 -1
- data/lib/puppet/type/k5login.rb +1 -1
- data/lib/puppet/type/macauthorization.rb +1 -1
- data/lib/puppet/type/mailalias.rb +2 -18
- data/lib/puppet/type/maillist.rb +1 -1
- data/lib/puppet/type/mount.rb +8 -8
- data/lib/puppet/type/notify.rb +2 -0
- data/lib/puppet/type/package.rb +5 -5
- data/lib/puppet/type/resources.rb +6 -6
- data/lib/puppet/type/schedule.rb +9 -9
- data/lib/puppet/type/scheduled_task.rb +9 -8
- data/lib/puppet/type/service.rb +1 -1
- data/lib/puppet/type/ssh_authorized_key.rb +3 -19
- data/lib/puppet/type/sshkey.rb +4 -4
- data/lib/puppet/type/tidy.rb +16 -19
- data/lib/puppet/type/user.rb +35 -70
- data/lib/puppet/type/yumrepo.rb +8 -8
- data/lib/puppet/type/zone.rb +7 -7
- data/lib/puppet/type/zpool.rb +3 -3
- data/lib/puppet/util.rb +16 -12
- data/lib/puppet/util/at_fork.rb +35 -0
- data/lib/puppet/util/at_fork/noop.rb +18 -0
- data/lib/puppet/util/at_fork/solaris.rb +158 -0
- data/lib/puppet/util/autoload.rb +2 -2
- data/lib/puppet/util/backups.rb +6 -6
- data/lib/puppet/util/classgen.rb +4 -4
- data/lib/puppet/util/command_line.rb +4 -4
- data/lib/puppet/util/command_line/puppet_option_parser.rb +3 -3
- data/lib/puppet/util/command_line/trollop.rb +31 -31
- data/lib/puppet/util/diff.rb +1 -1
- data/lib/puppet/util/errors.rb +4 -4
- data/lib/puppet/util/execution.rb +9 -9
- data/lib/puppet/util/feature.rb +5 -5
- data/lib/puppet/util/fileparsing.rb +8 -8
- data/lib/puppet/util/filetype.rb +15 -15
- data/lib/puppet/util/http_proxy.rb +7 -15
- data/lib/puppet/util/inifile.rb +4 -4
- data/lib/puppet/util/instance_loader.rb +1 -1
- data/lib/puppet/util/json_lockfile.rb +4 -4
- data/lib/puppet/util/ldap/connection.rb +2 -2
- data/lib/puppet/util/ldap/manager.rb +2 -2
- data/lib/puppet/util/limits.rb +1 -1
- data/lib/puppet/util/log.rb +23 -16
- data/lib/puppet/util/log/destinations.rb +10 -16
- data/lib/puppet/util/logging.rb +11 -8
- data/lib/puppet/util/metric.rb +9 -6
- data/lib/puppet/util/monkey_patches.rb +27 -66
- data/lib/puppet/util/network_device.rb +1 -1
- data/lib/puppet/util/network_device/cisco/device.rb +7 -7
- data/lib/puppet/util/network_device/cisco/interface.rb +1 -1
- data/lib/puppet/util/network_device/config.rb +6 -6
- data/lib/puppet/util/network_device/transport/ssh.rb +6 -6
- data/lib/puppet/util/plist.rb +4 -2
- data/lib/puppet/util/posix.rb +5 -5
- data/lib/puppet/util/profiler/wall_clock.rb +1 -1
- data/lib/puppet/util/provider_features.rb +1 -1
- data/lib/puppet/util/psych_support.rb +3 -11
- data/lib/puppet/util/rdoc.rb +4 -4
- data/lib/puppet/util/reference.rb +14 -7
- data/lib/puppet/util/resource_template.rb +1 -1
- data/lib/puppet/util/retry_action.rb +2 -2
- data/lib/puppet/util/selinux.rb +54 -12
- data/lib/puppet/util/splayer.rb +1 -1
- data/lib/puppet/util/storage.rb +5 -5
- data/lib/puppet/util/suidmanager.rb +4 -4
- data/lib/puppet/util/symbolic_file_mode.rb +9 -9
- data/lib/puppet/util/tag_set.rb +1 -4
- data/lib/puppet/util/tagging.rb +2 -2
- data/lib/puppet/util/windows.rb +2 -0
- data/lib/puppet/util/windows/adsi.rb +19 -16
- data/lib/puppet/util/windows/api_types.rb +7 -11
- data/lib/puppet/util/windows/com.rb +4 -4
- data/lib/puppet/util/windows/error.rb +2 -2
- data/lib/puppet/util/windows/eventlog.rb +192 -0
- data/lib/puppet/util/windows/file.rb +13 -96
- data/lib/puppet/util/windows/principal.rb +6 -7
- data/lib/puppet/util/windows/process.rb +6 -14
- data/lib/puppet/util/windows/registry.rb +11 -11
- data/lib/puppet/util/windows/root_certs.rb +1 -1
- data/lib/puppet/util/windows/security.rb +14 -14
- data/lib/puppet/util/windows/sid.rb +13 -66
- data/lib/puppet/util/windows/taskscheduler.rb +62 -62
- data/lib/puppet/util/windows/user.rb +6 -6
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet.rb +2 -10
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/gem_version.rb +1 -1
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version.rb +122 -114
- data/lib/puppet/vendor/semantic_puppet/lib/semantic_puppet/version_range.rb +678 -342
- data/lib/puppet/vendor/semantic_puppet/{lib/semantic_puppet/locales → locales}/config.yaml +0 -0
- data/lib/puppet/version.rb +1 -1
- data/locales/config.yaml +1 -1
- data/locales/puppet.pot +7847 -112
- data/man/man5/puppet.conf.5 +55 -296
- data/man/man8/puppet-agent.8 +10 -32
- data/man/man8/puppet-apply.8 +6 -21
- data/man/man8/puppet-ca.8 +34 -48
- data/man/man8/puppet-catalog.8 +4 -4
- data/man/man8/puppet-cert.8 +6 -23
- data/man/man8/puppet-certificate.8 +28 -44
- data/man/man8/puppet-certificate_request.8 +4 -4
- data/man/man8/puppet-certificate_revocation_list.8 +4 -4
- data/man/man8/puppet-config.8 +5 -5
- data/man/man8/puppet-describe.8 +3 -3
- data/man/man8/puppet-device.8 +13 -23
- data/man/man8/puppet-doc.8 +5 -5
- data/man/man8/puppet-epp.8 +10 -16
- data/man/man8/puppet-facts.8 +4 -4
- data/man/man8/puppet-filebucket.8 +6 -63
- data/man/man8/puppet-help.8 +4 -4
- data/man/man8/puppet-inspect.8 +5 -8
- data/man/man8/puppet-key.8 +4 -4
- data/man/man8/puppet-man.8 +5 -5
- data/man/man8/puppet-master.8 +5 -5
- data/man/man8/puppet-module.8 +13 -22
- data/man/man8/puppet-node.8 +4 -4
- data/man/man8/puppet-parser.8 +4 -4
- data/man/man8/puppet-plugin.8 +4 -4
- data/man/man8/puppet-report.8 +4 -4
- data/man/man8/puppet-resource.8 +8 -4
- data/man/man8/puppet-status.8 +5 -5
- data/man/man8/puppet.8 +3 -12
- data/spec/fixtures/unit/application/environments/production/data/common.yaml +0 -2
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +9 -0
- data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +9 -0
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +9 -0
- data/spec/integration/agent/logging_spec.rb +0 -2
- data/spec/integration/application/apply_spec.rb +19 -23
- data/spec/integration/application/lookup_spec.rb +0 -21
- data/spec/integration/configurer_spec.rb +1 -1
- data/spec/integration/defaults_spec.rb +2 -2
- data/spec/integration/file_bucket/file_spec.rb +5 -20
- data/spec/integration/indirector/file_content/file_server_spec.rb +1 -0
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +1 -0
- data/spec/integration/parser/catalog_spec.rb +1 -1
- data/spec/integration/parser/class_spec.rb +6 -6
- data/spec/integration/parser/compiler_spec.rb +184 -142
- data/spec/integration/parser/dynamic_scoping_spec.rb +0 -1
- data/spec/integration/parser/pcore_resource_spec.rb +1 -1
- data/spec/integration/parser/scope_spec.rb +53 -4
- data/spec/integration/provider/cron/crontab_spec.rb +0 -1
- data/spec/integration/resource/catalog_spec.rb +0 -4
- data/spec/integration/transaction/report_spec.rb +2 -2
- data/spec/integration/transaction_spec.rb +4 -37
- data/spec/integration/type/package_spec.rb +7 -1
- data/spec/integration/util/execution_spec.rb +0 -8
- data/spec/integration/util/windows/adsi_spec.rb +1 -86
- data/spec/integration/util/windows/principal_spec.rb +1 -10
- data/spec/integration/util/windows/process_spec.rb +0 -45
- data/spec/lib/matchers/json.rb +3 -3
- data/spec/lib/puppet/indirector_testing.rb +4 -0
- data/spec/lib/puppet_spec/compiler.rb +1 -1
- data/spec/lib/puppet_spec/modules.rb +2 -2
- data/spec/lib/puppet_spec/network.rb +10 -6
- data/spec/shared_contexts/types_setup.rb +28 -9
- data/spec/spec_helper.rb +0 -11
- data/spec/unit/agent_spec.rb +12 -34
- data/spec/unit/application/agent_spec.rb +16 -0
- data/spec/unit/application/apply_spec.rb +37 -13
- data/spec/unit/application/cert_spec.rb +1 -40
- data/spec/unit/application/config_spec.rb +0 -4
- data/spec/unit/application/describe_spec.rb +19 -0
- data/spec/unit/application/device_spec.rb +41 -2
- data/spec/unit/application/face_base_spec.rb +6 -6
- data/spec/unit/application/lookup_spec.rb +1 -31
- data/spec/unit/application/master_spec.rb +22 -6
- data/spec/unit/application/resource_spec.rb +17 -0
- data/spec/unit/application_spec.rb +0 -24
- data/spec/unit/capability_spec.rb +2 -6
- data/spec/unit/configurer/fact_handler_spec.rb +74 -41
- data/spec/unit/configurer/plugin_handler_spec.rb +13 -19
- data/spec/unit/configurer_spec.rb +36 -33
- data/spec/unit/defaults_spec.rb +0 -44
- data/spec/unit/environments_spec.rb +0 -15
- data/spec/unit/face/config_spec.rb +2 -1
- data/spec/unit/face/epp_face_spec.rb +0 -9
- data/spec/unit/face/module/list_spec.rb +60 -0
- data/spec/unit/file_bucket/file_spec.rb +3 -3
- data/spec/unit/file_serving/http_metadata_spec.rb +1 -1
- data/spec/unit/file_serving/metadata_spec.rb +14 -9
- data/spec/unit/forge/forge_spec.rb +2 -2
- data/spec/unit/forge_spec.rb +0 -105
- data/spec/unit/functions/annotate_spec.rb +175 -0
- data/spec/unit/functions/break_spec.rb +52 -83
- data/spec/unit/functions/call_spec.rb +77 -0
- data/spec/unit/functions/contain_spec.rb +1 -1
- data/spec/unit/functions/defined_spec.rb +2 -2
- data/spec/unit/functions/epp_spec.rb +0 -10
- data/spec/unit/functions/hiera_spec.rb +0 -5
- data/spec/unit/functions/lookup_fixture_spec.rb +1 -6
- data/spec/unit/functions/lookup_spec.rb +4 -97
- data/spec/unit/functions/new_spec.rb +1 -1
- data/spec/unit/functions/unique_spec.rb +111 -0
- data/spec/unit/functions4_spec.rb +2 -43
- data/spec/unit/graph/relationship_graph_spec.rb +0 -15
- data/spec/unit/graph/simple_graph_spec.rb +58 -55
- data/spec/unit/indirector/catalog/compiler_spec.rb +206 -174
- data/spec/unit/indirector/catalog/json_spec.rb +50 -1
- data/spec/unit/indirector/facts/facter_spec.rb +1 -2
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +4 -4
- data/spec/unit/indirector/file_server_spec.rb +17 -2
- data/spec/unit/indirector/indirection_spec.rb +3 -60
- data/spec/unit/indirector/json_spec.rb +27 -6
- data/spec/unit/indirector/node/exec_spec.rb +12 -12
- data/spec/unit/indirector/node/ldap_spec.rb +29 -8
- data/spec/unit/indirector/node/plain_spec.rb +16 -6
- data/spec/unit/indirector/node/write_only_yaml_spec.rb +12 -0
- data/spec/unit/indirector/report/processor_spec.rb +2 -2
- data/spec/unit/indirector/report/rest_spec.rb +29 -3
- data/spec/unit/indirector/request_spec.rb +0 -45
- data/spec/unit/indirector/rest_spec.rb +57 -15
- data/spec/unit/interface/face_collection_spec.rb +7 -7
- data/spec/unit/interface_spec.rb +0 -12
- data/spec/unit/module_spec.rb +10 -31
- data/spec/unit/module_tool/applications/installer_spec.rb +0 -1
- data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -1
- data/spec/unit/module_tool/tar/mini_spec.rb +5 -34
- data/spec/unit/network/format_handler_spec.rb +11 -11
- data/spec/unit/network/format_spec.rb +9 -0
- data/spec/unit/network/formats_spec.rb +322 -138
- data/spec/unit/network/http/api/indirected_routes_spec.rb +62 -52
- data/spec/unit/network/http/api/master/v3/environment_spec.rb +128 -2
- data/spec/unit/network/http/api/master/v3_spec.rb +1 -1
- data/spec/unit/network/http/api_spec.rb +1 -1
- data/spec/unit/network/http/compression_spec.rb +105 -88
- data/spec/unit/network/http/error_spec.rb +1 -2
- data/spec/unit/network/http/factory_spec.rb +9 -38
- data/spec/unit/network/http/handler_spec.rb +8 -12
- data/spec/unit/network/http/request_spec.rb +110 -0
- data/spec/unit/network/http/response_spec.rb +108 -0
- data/spec/unit/network/http/webrick_spec.rb +29 -30
- data/spec/unit/node/facts_spec.rb +13 -13
- data/spec/unit/node_spec.rb +33 -10
- data/spec/unit/parameter_spec.rb +73 -5
- data/spec/unit/parser/ast/leaf_spec.rb +4 -3
- data/spec/unit/parser/compiler_spec.rb +1 -1
- data/spec/unit/parser/environment_compiler_spec.rb +0 -2
- data/spec/unit/parser/functions/sprintf_spec.rb +0 -26
- data/spec/unit/parser/resource_spec.rb +86 -24
- data/spec/unit/parser/scope_spec.rb +4 -81
- data/spec/unit/pops/benchmark_spec.rb +8 -26
- data/spec/unit/pops/containment_spec.rb +0 -26
- data/spec/unit/pops/evaluator/access_ops_spec.rb +103 -103
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +59 -6
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +5 -5
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +26 -26
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +19 -7
- data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +7 -7
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +36 -1
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +10 -10
- data/spec/unit/pops/evaluator/variables_spec.rb +1 -1
- data/spec/unit/pops/factory_rspec_helper.rb +0 -4
- data/spec/unit/pops/factory_spec.rb +83 -83
- data/spec/unit/pops/loaders/loaders_spec.rb +69 -1
- data/spec/unit/pops/loaders/static_loader_spec.rb +3 -7
- data/spec/unit/pops/model/model_spec.rb +10 -10
- data/spec/unit/pops/parser/epp_parser_spec.rb +1 -1
- data/spec/unit/pops/parser/lexer2_spec.rb +4 -59
- data/spec/unit/pops/parser/{source_pos_adapter_spec.rb → locator_spec.rb} +9 -11
- data/spec/unit/pops/parser/parse_application_spec.rb +0 -3
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +4 -4
- data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -3
- data/spec/unit/pops/parser/parse_containers_spec.rb +17 -19
- data/spec/unit/pops/parser/parse_site_spec.rb +0 -3
- data/spec/unit/pops/parser/parser_spec.rb +8 -10
- data/spec/unit/pops/resource/resource_type_impl_spec.rb +1 -3
- data/spec/unit/pops/serialization/serialization_spec.rb +87 -1
- data/spec/unit/pops/serialization/to_from_hr_spec.rb +494 -0
- data/spec/unit/pops/time/timestamp_spec.rb +13 -0
- data/spec/unit/pops/types/iterable_spec.rb +1 -1
- data/spec/unit/pops/types/p_object_type_spec.rb +99 -13
- data/spec/unit/pops/types/p_timestamp_type_spec.rb +8 -8
- data/spec/unit/pops/types/p_type_set_type_spec.rb +1 -9
- data/spec/unit/pops/types/ruby_generator_spec.rb +57 -20
- data/spec/unit/pops/types/string_converter_spec.rb +78 -30
- data/spec/unit/pops/types/type_acceptor_spec.rb +2 -2
- data/spec/unit/pops/types/type_calculator_spec.rb +207 -123
- data/spec/unit/pops/types/type_factory_spec.rb +9 -9
- data/spec/unit/pops/types/type_formatter_spec.rb +32 -19
- data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -9
- data/spec/unit/pops/types/type_parser_spec.rb +6 -6
- data/spec/unit/pops/types/types_spec.rb +42 -2
- data/spec/unit/pops/validator/validator_spec.rb +25 -86
- data/spec/unit/pops/visitor_spec.rb +1 -1
- data/spec/unit/property/list_spec.rb +2 -2
- data/spec/unit/provider/augeas/augeas_spec.rb +1 -1
- data/spec/unit/provider/group/windows_adsi_spec.rb +22 -79
- data/spec/unit/provider/package/aix_spec.rb +0 -8
- data/spec/unit/provider/package/portage_spec.rb +103 -17
- data/spec/unit/provider/package/rpm_spec.rb +14 -1
- data/spec/unit/provider/package/yum_spec.rb +0 -10
- data/spec/unit/provider/service/base_spec.rb +0 -20
- data/spec/unit/provider/service/smf_spec.rb +4 -2
- data/spec/unit/provider/service/systemd_spec.rb +1 -15
- data/spec/unit/provider/user/directoryservice_spec.rb +7 -7
- data/spec/unit/provider/user/windows_adsi_spec.rb +4 -4
- data/spec/unit/provider/zfs/zfs_spec.rb +1 -7
- data/spec/unit/puppet_spec.rb +2 -3
- data/spec/unit/relationship_spec.rb +15 -36
- data/spec/unit/reports/http_spec.rb +11 -8
- data/spec/unit/resource/catalog_spec.rb +47 -49
- data/spec/unit/resource/status_spec.rb +114 -103
- data/spec/unit/resource/type_collection_spec.rb +5 -5
- data/spec/unit/resource/type_spec.rb +4 -71
- data/spec/unit/resource_spec.rb +30 -34
- data/spec/unit/settings_spec.rb +4 -2
- data/spec/unit/ssl/host_spec.rb +34 -34
- data/spec/unit/status_spec.rb +7 -7
- data/spec/unit/transaction/event_spec.rb +18 -15
- data/spec/unit/transaction/report_spec.rb +100 -81
- data/spec/unit/transaction/resource_harness_spec.rb +3 -3
- data/spec/unit/transaction_spec.rb +53 -8
- data/spec/unit/type/file/group_spec.rb +2 -2
- data/spec/unit/type/file/mode_spec.rb +9 -9
- data/spec/unit/type/file/owner_spec.rb +2 -2
- data/spec/unit/type/file/selinux_spec.rb +2 -0
- data/spec/unit/type/file/source_spec.rb +13 -0
- data/spec/unit/type/nagios_spec.rb +1 -21
- data/spec/unit/type/ssh_authorized_key_spec.rb +2 -2
- data/spec/unit/type/tidy_spec.rb +0 -14
- data/spec/unit/type/user_spec.rb +2 -4
- data/spec/unit/util/at_fork_spec.rb +150 -0
- data/spec/unit/util/execution_spec.rb +31 -2
- data/spec/unit/util/http_proxy_spec.rb +0 -37
- data/spec/unit/util/log/destinations_spec.rb +5 -6
- data/spec/unit/util/log_spec.rb +62 -17
- data/spec/unit/util/metric_spec.rb +9 -2
- data/spec/unit/util/monkey_patches_spec.rb +6 -188
- data/spec/unit/util/run_mode_spec.rb +17 -10
- data/spec/unit/util/tag_set_spec.rb +2 -2
- data/spec/unit/util/tagging_spec.rb +55 -0
- data/spec/unit/util/windows/adsi_spec.rb +27 -31
- data/spec/unit/util/windows/api_types_spec.rb +0 -51
- data/spec/unit/util/windows/eventlog_spec.rb +123 -0
- data/spec/unit/util/windows/sid_spec.rb +15 -86
- data/spec/unit/util_spec.rb +7 -1
- data/tasks/benchmark.rake +3 -3
- data/tasks/cfpropertylist.rake +1 -1
- data/tasks/generate_ast_model.rake +78 -0
- data/tasks/manpages.rake +1 -1
- data/tasks/parallel.rake +7 -12
- metadata +3436 -3695
- checksums.yaml +0 -7
- data/bin/extlookup2hiera +0 -56
- data/ext/emacs/puppet-mode-init.el +0 -6
- data/ext/emacs/puppet-mode.el +0 -433
- data/ext/vim/README +0 -3
- data/ext/vim/ftdetect/puppet.vim +0 -2
- data/ext/vim/ftplugin/puppet.vim +0 -94
- data/ext/vim/indent/puppet.vim +0 -76
- data/ext/vim/syntax/puppet.vim +0 -115
- data/lib/puppet/application/file.rb +0 -4
- data/lib/puppet/application/inspect.rb +0 -184
- data/lib/puppet/application/resource_type.rb +0 -7
- data/lib/puppet/data_providers.rb +0 -34
- data/lib/puppet/data_providers/data_adapter.rb +0 -37
- data/lib/puppet/data_providers/data_function_support.rb +0 -32
- data/lib/puppet/data_providers/function_env_data_provider.rb +0 -26
- data/lib/puppet/data_providers/function_module_data_provider.rb +0 -24
- data/lib/puppet/data_providers/hiera_config.rb +0 -151
- data/lib/puppet/data_providers/hiera_env_data_provider.rb +0 -25
- data/lib/puppet/data_providers/hiera_interpolate.rb +0 -21
- data/lib/puppet/data_providers/hiera_module_data_provider.rb +0 -30
- data/lib/puppet/data_providers/hiera_support.rb +0 -42
- data/lib/puppet/data_providers/json_data_provider_factory.rb +0 -38
- data/lib/puppet/data_providers/yaml_data_provider_factory.rb +0 -40
- data/lib/puppet/face/file.rb +0 -50
- data/lib/puppet/face/file/download.rb +0 -56
- data/lib/puppet/face/file/store.rb +0 -21
- data/lib/puppet/face/resource_type.rb +0 -84
- data/lib/puppet/feature/cfacter.rb +0 -15
- data/lib/puppet/feature/external_facts.rb +0 -5
- data/lib/puppet/indirector/catalog/static_compiler.rb +0 -232
- data/lib/puppet/indirector/resource_type.rb +0 -5
- data/lib/puppet/indirector/resource_type/parser.rb +0 -108
- data/lib/puppet/indirector/resource_type/rest.rb +0 -7
- data/lib/puppet/parser/yaml_trimmer.rb +0 -7
- data/lib/puppet/plugins/binding_schemes.rb +0 -140
- data/lib/puppet/plugins/data_providers.rb +0 -45
- data/lib/puppet/plugins/data_providers/data_provider.rb +0 -406
- data/lib/puppet/plugins/data_providers/registry.rb +0 -51
- data/lib/puppet/pops/binder/binder.rb +0 -398
- data/lib/puppet/pops/binder/binder_issues.rb +0 -124
- data/lib/puppet/pops/binder/bindings_checker.rb +0 -201
- data/lib/puppet/pops/binder/bindings_composer.rb +0 -181
- data/lib/puppet/pops/binder/bindings_factory.rb +0 -813
- data/lib/puppet/pops/binder/bindings_label_provider.rb +0 -45
- data/lib/puppet/pops/binder/bindings_loader.rb +0 -87
- data/lib/puppet/pops/binder/bindings_model.rb +0 -70
- data/lib/puppet/pops/binder/bindings_model_dumper.rb +0 -215
- data/lib/puppet/pops/binder/bindings_model_meta.rb +0 -215
- data/lib/puppet/pops/binder/bindings_validator_factory.rb +0 -28
- data/lib/puppet/pops/binder/config/binder_config.rb +0 -107
- data/lib/puppet/pops/binder/config/binder_config_checker.rb +0 -142
- data/lib/puppet/pops/binder/config/diagnostic_producer.rb +0 -36
- data/lib/puppet/pops/binder/config/issues.rb +0 -90
- data/lib/puppet/pops/binder/injector.rb +0 -771
- data/lib/puppet/pops/binder/injector_entry.rb +0 -57
- data/lib/puppet/pops/binder/key_factory.rb +0 -65
- data/lib/puppet/pops/binder/producers.rb +0 -831
- data/lib/puppet/pops/binder/scheme_handler/confdir_scheme.rb +0 -34
- data/lib/puppet/pops/binder/scheme_handler/module_scheme.rb +0 -143
- data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +0 -53
- data/lib/puppet/pops/binder/system_bindings.rb +0 -60
- data/lib/puppet/pops/containment.rb +0 -104
- data/lib/puppet/pops/model/model.rb +0 -131
- data/lib/puppet/pops/model/model_meta.rb +0 -629
- data/lib/puppet/pops/serialization/rgen.rb +0 -152
- data/lib/puppet/vendor/load_rgen.rb +0 -2
- data/lib/puppet/vendor/rgen/CHANGELOG +0 -197
- data/lib/puppet/vendor/rgen/MIT-LICENSE +0 -20
- data/lib/puppet/vendor/rgen/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/rgen/README.rdoc +0 -78
- data/lib/puppet/vendor/rgen/Rakefile +0 -41
- data/lib/puppet/vendor/rgen/TODO +0 -41
- data/lib/puppet/vendor/rgen/anounce.txt +0 -61
- data/lib/puppet/vendor/rgen/design_rationale.txt +0 -71
- data/lib/puppet/vendor/rgen/lib/ea_support/ea_support.rb +0 -54
- data/lib/puppet/vendor/rgen/lib/ea_support/id_store.rb +0 -32
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel.rb +0 -562
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_ext.rb +0 -45
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_metamodel_generator.rb +0 -43
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_ea_to_uml13.rb +0 -103
- data/lib/puppet/vendor/rgen/lib/ea_support/uml13_to_uml13_ea.rb +0 -89
- data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel.rb +0 -559
- data/lib/puppet/vendor/rgen/lib/metamodels/uml13_metamodel_ext.rb +0 -26
- data/lib/puppet/vendor/rgen/lib/mmgen/metamodel_generator.rb +0 -20
- data/lib/puppet/vendor/rgen/lib/mmgen/mm_ext/ecore_mmgen_ext.rb +0 -91
- data/lib/puppet/vendor/rgen/lib/mmgen/mmgen.rb +0 -28
- data/lib/puppet/vendor/rgen/lib/mmgen/templates/annotations.tpl +0 -37
- data/lib/puppet/vendor/rgen/lib/mmgen/templates/metamodel_generator.tpl +0 -172
- data/lib/puppet/vendor/rgen/lib/rgen/array_extensions.rb +0 -45
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore.rb +0 -218
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_builder_methods.rb +0 -81
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_ext.rb +0 -69
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_interface.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ecore_to_ruby.rb +0 -167
- data/lib/puppet/vendor/rgen/lib/rgen/ecore/ruby_to_ecore.rb +0 -91
- data/lib/puppet/vendor/rgen/lib/rgen/environment.rb +0 -129
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/dump_file_cache.rb +0 -63
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/fragmented_model.rb +0 -140
- data/lib/puppet/vendor/rgen/lib/rgen/fragment/model_fragment.rb +0 -289
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_instantiator.rb +0 -66
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/abstract_xml_instantiator.rb +0 -66
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/default_xml_instantiator.rb +0 -117
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/ecore_xml_instantiator.rb +0 -169
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_instantiator.rb +0 -126
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.rb +0 -331
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/json_parser.y +0 -94
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/nodebased_xml_instantiator.rb +0 -137
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/qualified_name_resolver.rb +0 -97
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/reference_resolver.rb +0 -128
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/resolution_helper.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/instantiator/xmi11_instantiator.rb +0 -168
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder.rb +0 -224
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_extensions.rb +0 -556
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/builder_runtime.rb +0 -174
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/constant_order_helper.rb +0 -89
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/data_types.rb +0 -77
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/annotation.rb +0 -30
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/intermediate/feature.rb +0 -168
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/mm_multiple.rb +0 -23
- data/lib/puppet/vendor/rgen/lib/rgen/metamodel_builder/module_extension.rb +0 -42
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder.rb +0 -32
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/builder_context.rb +0 -334
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/model_serializer.rb +0 -225
- data/lib/puppet/vendor/rgen/lib/rgen/model_builder/reference_resolver.rb +0 -156
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/json_serializer.rb +0 -121
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/opposite_reference_filter.rb +0 -18
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/qualified_name_provider.rb +0 -47
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi11_serializer.rb +0 -116
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xmi20_serializer.rb +0 -71
- data/lib/puppet/vendor/rgen/lib/rgen/serializer/xml_serializer.rb +0 -98
- data/lib/puppet/vendor/rgen/lib/rgen/template_language.rb +0 -297
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/directory_template_container.rb +0 -83
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/output_handler.rb +0 -87
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_container.rb +0 -234
- data/lib/puppet/vendor/rgen/lib/rgen/template_language/template_helper.rb +0 -26
- data/lib/puppet/vendor/rgen/lib/rgen/transformer.rb +0 -475
- data/lib/puppet/vendor/rgen/lib/rgen/util/auto_class_creator.rb +0 -61
- data/lib/puppet/vendor/rgen/lib/rgen/util/cached_glob.rb +0 -67
- data/lib/puppet/vendor/rgen/lib/rgen/util/file_cache_map.rb +0 -124
- data/lib/puppet/vendor/rgen/lib/rgen/util/file_change_detector.rb +0 -84
- data/lib/puppet/vendor/rgen/lib/rgen/util/method_delegation.rb +0 -114
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator.rb +0 -68
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_comparator_base.rb +0 -142
- data/lib/puppet/vendor/rgen/lib/rgen/util/model_dumper.rb +0 -29
- data/lib/puppet/vendor/rgen/lib/rgen/util/name_helper.rb +0 -42
- data/lib/puppet/vendor/rgen/lib/rgen/util/pattern_matcher.rb +0 -329
- data/lib/puppet/vendor/rgen/lib/transformers/ecore_to_uml13.rb +0 -79
- data/lib/puppet/vendor/rgen/lib/transformers/uml13_to_ecore.rb +0 -127
- data/lib/puppet/vendor/rgen/test/array_extensions_test.rb +0 -64
- data/lib/puppet/vendor/rgen/test/ea_instantiator_test.rb +0 -35
- data/lib/puppet/vendor/rgen/test/ea_serializer_test.rb +0 -23
- data/lib/puppet/vendor/rgen/test/ecore_self_test.rb +0 -54
- data/lib/puppet/vendor/rgen/test/environment_test.rb +0 -90
- data/lib/puppet/vendor/rgen/test/json_test.rb +0 -171
- data/lib/puppet/vendor/rgen/test/metamodel_builder_test.rb +0 -1482
- data/lib/puppet/vendor/rgen/test/metamodel_from_ecore_test.rb +0 -57
- data/lib/puppet/vendor/rgen/test/metamodel_order_test.rb +0 -131
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test.rb +0 -98
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/TestModel.rb +0 -70
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel.ecore +0 -42
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/houseMetamodel_from_ecore.rb +0 -44
- data/lib/puppet/vendor/rgen/test/metamodel_roundtrip_test/using_builtin_types.ecore +0 -9
- data/lib/puppet/vendor/rgen/test/method_delegation_test.rb +0 -178
- data/lib/puppet/vendor/rgen/test/model_builder/builder_context_test.rb +0 -59
- data/lib/puppet/vendor/rgen/test/model_builder/builder_test.rb +0 -242
- data/lib/puppet/vendor/rgen/test/model_builder/ecore_original.rb +0 -163
- data/lib/puppet/vendor/rgen/test/model_builder/ecore_original_regenerated.rb +0 -163
- data/lib/puppet/vendor/rgen/test/model_builder/reference_resolver_test.rb +0 -156
- data/lib/puppet/vendor/rgen/test/model_builder/serializer_test.rb +0 -94
- data/lib/puppet/vendor/rgen/test/model_builder/statemachine_metamodel.rb +0 -42
- data/lib/puppet/vendor/rgen/test/model_builder/test_model/statemachine1.rb +0 -23
- data/lib/puppet/vendor/rgen/test/model_builder_test.rb +0 -6
- data/lib/puppet/vendor/rgen/test/model_fragment_test.rb +0 -30
- data/lib/puppet/vendor/rgen/test/output_handler_test.rb +0 -58
- data/lib/puppet/vendor/rgen/test/qualified_name_provider_test.rb +0 -48
- data/lib/puppet/vendor/rgen/test/qualified_name_resolver_test.rb +0 -102
- data/lib/puppet/vendor/rgen/test/reference_resolver_test.rb +0 -117
- data/lib/puppet/vendor/rgen/test/rgen_test.rb +0 -26
- data/lib/puppet/vendor/rgen/test/template_language_test.rb +0 -163
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result1.txt +0 -29
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result2.txt +0 -9
- data/lib/puppet/vendor/rgen/test/template_language_test/expected_result3.txt +0 -4
- data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestDefaultIndent.out +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/indentStringTestTabIndent.out +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/a.tpl +0 -12
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/callback_indent_test/b.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/code/array.tpl +0 -11
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/author.tpl +0 -7
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/content/chapter.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/local.tpl +0 -8
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/define_local_test/test.tpl +0 -8
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/evaluate_test/test.tpl +0 -7
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/indent_string_test.tpl +0 -12
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/c/cmod.tpl +0 -1
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/index/chapter.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_backslash_r_test.tpl +0 -5
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/no_indent.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/sub1/no_indent.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test.tpl +0 -24
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test2.tpl +0 -13
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/no_indent_test/test3.tpl +0 -10
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/null_context_test.tpl +0 -17
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/root.tpl +0 -31
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1.tpl +0 -9
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/sub1/sub1.tpl +0 -3
- data/lib/puppet/vendor/rgen/test/template_language_test/templates/template_resolution_test/test.tpl +0 -4
- data/lib/puppet/vendor/rgen/test/template_language_test/testout.txt +0 -29
- data/lib/puppet/vendor/rgen/test/testmodel/class_model_checker.rb +0 -119
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.eap +0 -0
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel.xml +0 -1029
- data/lib/puppet/vendor/rgen/test/testmodel/ea_testmodel_partial.xml +0 -317
- data/lib/puppet/vendor/rgen/test/testmodel/ecore_model_checker.rb +0 -101
- data/lib/puppet/vendor/rgen/test/testmodel/manual_testmodel.xml +0 -22
- data/lib/puppet/vendor/rgen/test/testmodel/object_model_checker.rb +0 -67
- data/lib/puppet/vendor/rgen/test/transformer_test.rb +0 -254
- data/lib/puppet/vendor/rgen/test/util/file_cache_map_test.rb +0 -99
- data/lib/puppet/vendor/rgen/test/util/pattern_matcher_test.rb +0 -97
- data/lib/puppet/vendor/rgen/test/util_test.rb +0 -5
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test.rb +0 -160
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_ecore_model_checker.rb +0 -94
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_ecore_instantiator.rb +0 -53
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_metamodel.rb +0 -49
- data/lib/puppet/vendor/rgen/test/xml_instantiator_test/simple_xmi_to_ecore.rb +0 -75
- data/lib/puppet/vendor/rgen_patch.rb +0 -132
- data/lib/semver.rb +0 -146
- data/man/man8/extlookup2hiera.8 +0 -10
- data/man/man8/puppet-file.8 +0 -189
- data/man/man8/puppet-generate.8 +0 -84
- data/man/man8/puppet-lookup.8 +0 -87
- data/man/man8/puppet-resource_type.8 +0 -188
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/lib/puppet/bindings/xyz/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/environment.conf +0 -2
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/hiera.yaml +0 -5
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet/bindings/backend/default.rb +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/lib/puppet_x/backend/special_data_provider_factory.rb +0 -23
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/manifests/init.pp +0 -5
- data/spec/fixtures/unit/data_providers/environments/sample/modules/backend/metadata.json +0 -9
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet/bindings/dataprovider/default.rb +0 -54
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +0 -33
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +0 -33
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +0 -5
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/bindings/bad_data/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/bindings/bca/default.rb +0 -9
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet/bindings/metawcp/default.rb +0 -10
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/lib/puppet_x/thallgren/sample_module_data.rb +0 -23
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/manifests/init.pp +0 -3
- data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/metawcp/metadata.json +0 -9
- data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +0 -36
- data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +0 -3
- data/spec/unit/application/inspect_spec.rb +0 -316
- data/spec/unit/data_providers/custom_data_provider_spec.rb +0 -50
- data/spec/unit/face/file_spec.rb +0 -14
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +0 -255
- data/spec/unit/indirector/resource_type/parser_spec.rb +0 -259
- data/spec/unit/indirector/resource_type/rest_spec.rb +0 -14
- data/spec/unit/pops/binder/binder_spec.rb +0 -43
- data/spec/unit/pops/binder/bindings_checker_spec.rb +0 -155
- data/spec/unit/pops/binder/bindings_composer_spec.rb +0 -64
- data/spec/unit/pops/binder/bindings_validator_factory_spec.rb +0 -18
- data/spec/unit/pops/binder/config/binder_config_spec.rb +0 -42
- data/spec/unit/pops/binder/injector_spec.rb +0 -768
- data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +0 -23
- data/spec/unit/pops/serialization/rgen_spec.rb +0 -88
- data/spec/unit/semver_spec.rb +0 -546
@@ -32,11 +32,8 @@ EMPTY_STRING = Puppet::Pops::EMPTY_STRING
|
|
32
32
|
|
33
33
|
# The Types model is a model of Puppet Language types.
|
34
34
|
#
|
35
|
-
# The
|
36
|
-
#
|
37
|
-
# infer the type by simply looking at the inheritance hierarchy. The {TypeCalculator} should
|
38
|
-
# be used to answer questions about types. The {TypeFactory} should be used to create an instance
|
39
|
-
# of a type whenever one is needed.
|
35
|
+
# The {TypeCalculator} should be used to answer questions about types. The {TypeFactory} or {TypeParser} should be used
|
36
|
+
# to create an instance of a type whenever one is needed.
|
40
37
|
#
|
41
38
|
# The implementation of the Types model contains methods that are required for the type objects to behave as
|
42
39
|
# expected when comparing them and using them as keys in hashes. (No other logic is, or should be included directly in
|
@@ -44,13 +41,12 @@ EMPTY_STRING = Puppet::Pops::EMPTY_STRING
|
|
44
41
|
#
|
45
42
|
# @api public
|
46
43
|
#
|
47
|
-
# TODO: See PUP-2978 for possible performance optimization
|
48
44
|
class TypedModelObject < Object
|
49
45
|
include PuppetObject
|
50
46
|
include Visitable
|
51
47
|
include Adaptable
|
52
48
|
|
53
|
-
def self.
|
49
|
+
def self._pcore_type
|
54
50
|
@type
|
55
51
|
end
|
56
52
|
|
@@ -59,7 +55,10 @@ class TypedModelObject < Object
|
|
59
55
|
end
|
60
56
|
|
61
57
|
def self.register_ptypes(loader, ir)
|
62
|
-
types = [
|
58
|
+
types = [
|
59
|
+
Annotation.register_ptype(loader, ir),
|
60
|
+
RubyMethod.register_ptype(loader, ir)
|
61
|
+
]
|
63
62
|
Types.constants.each do |c|
|
64
63
|
cls = Types.const_get(c)
|
65
64
|
next unless cls.is_a?(Class) && cls < self
|
@@ -80,6 +79,11 @@ class PAnyType < TypedModelObject
|
|
80
79
|
@type = Pcore::create_object_type(loader, ir, self, 'Pcore::AnyType', 'Any', EMPTY_HASH)
|
81
80
|
end
|
82
81
|
|
82
|
+
def self.create(*args)
|
83
|
+
# NOTE! Important to use self::DEFAULT and not just DEFAULT since the latter yields PAnyType::DEFAULT
|
84
|
+
args.empty? ? self::DEFAULT : new(*args)
|
85
|
+
end
|
86
|
+
|
83
87
|
# Accept a visitor that will be sent the message `visit`, once with `self` as the
|
84
88
|
# argument. The visitor will then visit all types that this type contains.
|
85
89
|
#
|
@@ -320,6 +324,13 @@ class PAnyType < TypedModelObject
|
|
320
324
|
raise ArgumentError.new("Creation of new instance of type '#{instance.to_s}' is not supported")
|
321
325
|
end
|
322
326
|
|
327
|
+
# Answers the question if instances of this type can represent themselves as a string that
|
328
|
+
# can then be passed to the create method
|
329
|
+
#
|
330
|
+
# @return [Boolean] wether or not the instance has a canonical string representation
|
331
|
+
def roundtrip_with_string?
|
332
|
+
false
|
333
|
+
end
|
323
334
|
|
324
335
|
# The default instance of this type. Each type in the type system has this constant
|
325
336
|
# declared.
|
@@ -637,76 +648,66 @@ class PDefaultType < PAnyType
|
|
637
648
|
end
|
638
649
|
end
|
639
650
|
|
640
|
-
#
|
641
|
-
#
|
651
|
+
# Type that is a Scalar
|
642
652
|
# @api public
|
643
653
|
#
|
644
|
-
class
|
654
|
+
class PScalarType < PAnyType
|
645
655
|
def self.register_ptype(loader, ir)
|
646
656
|
create_ptype(loader, ir, 'AnyType')
|
647
657
|
end
|
648
658
|
|
649
|
-
def
|
650
|
-
|
659
|
+
def instance?(o, guard = nil)
|
660
|
+
if o.is_a?(String) || o.is_a?(Numeric) || o.is_a?(TrueClass) || o.is_a?(FalseClass) || o.is_a?(Regexp)
|
661
|
+
true
|
662
|
+
elsif o.instance_of?(Array) || o.instance_of?(Hash) || o.is_a?(PAnyType) || o.is_a?(NilClass)
|
663
|
+
false
|
664
|
+
else
|
665
|
+
assignable?(TypeCalculator.infer(o))
|
666
|
+
end
|
651
667
|
end
|
652
668
|
|
653
|
-
def
|
654
|
-
|
669
|
+
def roundtrip_with_string?
|
670
|
+
true
|
655
671
|
end
|
656
672
|
|
657
|
-
DEFAULT =
|
673
|
+
DEFAULT = PScalarType.new
|
658
674
|
|
659
675
|
protected
|
660
676
|
|
661
|
-
# Data is assignable by other Data and by Array[Data] and Hash[Scalar, Data]
|
662
677
|
# @api private
|
663
678
|
def _assignable?(o, guard)
|
664
|
-
|
665
|
-
case o
|
666
|
-
when Types::PDataType
|
667
|
-
true
|
668
|
-
when Types::PNotUndefType
|
669
|
-
assignable?(o.type || PUndefType::DEFAULT, guard)
|
670
|
-
else
|
671
|
-
PVariantType::DATA.assignable?(o, guard)
|
672
|
-
end
|
679
|
+
o.is_a?(PScalarType)
|
673
680
|
end
|
674
681
|
end
|
675
682
|
|
676
|
-
#
|
683
|
+
# Like Scalar but limited to Json Data.
|
677
684
|
# @api public
|
678
685
|
#
|
679
|
-
class
|
686
|
+
class PScalarDataType < PScalarType
|
680
687
|
def self.register_ptype(loader, ir)
|
681
|
-
create_ptype(loader, ir, '
|
688
|
+
create_ptype(loader, ir, 'ScalarType')
|
682
689
|
end
|
683
690
|
|
684
691
|
def instance?(o, guard = nil)
|
685
|
-
|
686
|
-
true
|
687
|
-
elsif o.is_a?(Array) || o.is_a?(Hash) || o.is_a?(PAnyType) || o.is_a?(NilClass)
|
688
|
-
false
|
689
|
-
else
|
690
|
-
assignable?(TypeCalculator.infer(o))
|
691
|
-
end
|
692
|
+
return o.is_a?(String) || o.is_a?(Integer) || o.is_a?(Float) || o.is_a?(TrueClass) || o.is_a?(FalseClass)
|
692
693
|
end
|
693
694
|
|
694
|
-
DEFAULT =
|
695
|
+
DEFAULT = PScalarDataType.new
|
695
696
|
|
696
697
|
protected
|
697
698
|
|
698
699
|
# @api private
|
699
700
|
def _assignable?(o, guard)
|
700
|
-
o.is_a?(
|
701
|
+
o.is_a?(PScalarDataType)
|
701
702
|
end
|
702
703
|
end
|
703
704
|
|
704
705
|
# A string type describing the set of strings having one of the given values
|
705
706
|
# @api public
|
706
707
|
#
|
707
|
-
class PEnumType <
|
708
|
+
class PEnumType < PScalarDataType
|
708
709
|
def self.register_ptype(loader, ir)
|
709
|
-
create_ptype(loader, ir, '
|
710
|
+
create_ptype(loader, ir, 'ScalarDataType', 'values' => PArrayType.new(PStringType::NON_EMPTY))
|
710
711
|
end
|
711
712
|
|
712
713
|
attr_reader :values
|
@@ -776,72 +777,11 @@ class PEnumType < PScalarType
|
|
776
777
|
end
|
777
778
|
end
|
778
779
|
|
779
|
-
# Abstract class that encapsulates behavior common to PNumericType and PAbstractTimeDataType
|
780
|
-
# @api public
|
781
|
-
class PAbstractRangeType < PScalarType
|
782
|
-
def initialize(from, to = Float::INFINITY)
|
783
|
-
from = -Float::INFINITY if from.nil? || from == :default
|
784
|
-
to = Float::INFINITY if to.nil? || to == :default
|
785
|
-
raise ArgumentError, "'from' must be less or equal to 'to'. Got (#{from}, #{to}" if from.is_a?(Numeric) && to.is_a?(Numeric) && from > to
|
786
|
-
@from = from
|
787
|
-
@to = to
|
788
|
-
end
|
789
|
-
|
790
|
-
# Checks if this numeric range intersects with another
|
791
|
-
#
|
792
|
-
# @param o [PNumericType] the range to compare with
|
793
|
-
# @return [Boolean] `true` if this range intersects with the other range
|
794
|
-
# @api public
|
795
|
-
def intersect?(o)
|
796
|
-
self.class == o.class && !(@to < o.numeric_from || o.numeric_to < @from)
|
797
|
-
end
|
798
|
-
|
799
|
-
# Returns the lower bound of the numeric range or `nil` if no lower bound is set.
|
800
|
-
# @return [Float,Integer]
|
801
|
-
def from
|
802
|
-
@from == -Float::INFINITY ? nil : @from
|
803
|
-
end
|
804
|
-
|
805
|
-
# Returns the upper bound of the numeric range or `nil` if no upper bound is set.
|
806
|
-
# @return [Float,Integer]
|
807
|
-
def to
|
808
|
-
@to == Float::INFINITY ? nil : @to
|
809
|
-
end
|
810
|
-
|
811
|
-
# Same as #from but will return `-Float::Infinity` instead of `nil` if no lower bound is set.
|
812
|
-
# @return [Float,Integer]
|
813
|
-
def numeric_from
|
814
|
-
@from
|
815
|
-
end
|
816
|
-
|
817
|
-
# Same as #to but will return `Float::Infinity` instead of `nil` if no lower bound is set.
|
818
|
-
# @return [Float,Integer]
|
819
|
-
def numeric_to
|
820
|
-
@to
|
821
|
-
end
|
822
|
-
|
823
|
-
def hash
|
824
|
-
@from.hash ^ @to.hash
|
825
|
-
end
|
826
|
-
|
827
|
-
def eql?(o)
|
828
|
-
self.class == o.class && @from == o.numeric_from && @to == o.numeric_to
|
829
|
-
end
|
830
|
-
|
831
|
-
def instance?(o, guard = nil)
|
832
|
-
o.is_a?(Numeric) && o >= @from && o <= @to
|
833
|
-
end
|
834
|
-
|
835
|
-
def unbounded?
|
836
|
-
@from == -Float::INFINITY && @to == Float::INFINITY
|
837
|
-
end
|
838
|
-
end
|
839
|
-
|
840
780
|
# @api public
|
841
781
|
#
|
842
|
-
class PNumericType <
|
782
|
+
class PNumericType < PScalarDataType
|
843
783
|
def self.register_ptype(loader, ir)
|
844
|
-
create_ptype(loader, ir, '
|
784
|
+
create_ptype(loader, ir, 'ScalarDataType',
|
845
785
|
'from' => { KEY_TYPE => POptionalType.new(PNumericType::DEFAULT), KEY_VALUE => nil },
|
846
786
|
'to' => { KEY_TYPE => POptionalType.new(PNumericType::DEFAULT), KEY_VALUE => nil }
|
847
787
|
)
|
@@ -906,8 +846,61 @@ class PNumericType < PAbstractRangeType
|
|
906
846
|
end
|
907
847
|
end
|
908
848
|
|
849
|
+
def initialize(from, to = Float::INFINITY)
|
850
|
+
from = -Float::INFINITY if from.nil? || from == :default
|
851
|
+
to = Float::INFINITY if to.nil? || to == :default
|
852
|
+
raise ArgumentError, "'from' must be less or equal to 'to'. Got (#{from}, #{to}" if from > to
|
853
|
+
@from = from
|
854
|
+
@to = to
|
855
|
+
end
|
856
|
+
|
857
|
+
# Checks if this numeric range intersects with another
|
858
|
+
#
|
859
|
+
# @param o [PNumericType] the range to compare with
|
860
|
+
# @return [Boolean] `true` if this range intersects with the other range
|
861
|
+
# @api public
|
862
|
+
def intersect?(o)
|
863
|
+
self.class == o.class && !(@to < o.numeric_from || o.numeric_to < @from)
|
864
|
+
end
|
865
|
+
|
866
|
+
# Returns the lower bound of the numeric range or `nil` if no lower bound is set.
|
867
|
+
# @return [Float,Integer]
|
868
|
+
def from
|
869
|
+
@from == -Float::INFINITY ? nil : @from
|
870
|
+
end
|
871
|
+
|
872
|
+
# Returns the upper bound of the numeric range or `nil` if no upper bound is set.
|
873
|
+
# @return [Float,Integer]
|
874
|
+
def to
|
875
|
+
@to == Float::INFINITY ? nil : @to
|
876
|
+
end
|
877
|
+
|
878
|
+
# Same as #from but will return `-Float::Infinity` instead of `nil` if no lower bound is set.
|
879
|
+
# @return [Float,Integer]
|
880
|
+
def numeric_from
|
881
|
+
@from
|
882
|
+
end
|
883
|
+
|
884
|
+
# Same as #to but will return `Float::Infinity` instead of `nil` if no lower bound is set.
|
885
|
+
# @return [Float,Integer]
|
886
|
+
def numeric_to
|
887
|
+
@to
|
888
|
+
end
|
889
|
+
|
890
|
+
def hash
|
891
|
+
@from.hash ^ @to.hash
|
892
|
+
end
|
893
|
+
|
894
|
+
def eql?(o)
|
895
|
+
self.class == o.class && @from == o.numeric_from && @to == o.numeric_to
|
896
|
+
end
|
897
|
+
|
909
898
|
def instance?(o, guard = nil)
|
910
|
-
|
899
|
+
o.is_a?(Numeric) && o >= @from && o <= @to
|
900
|
+
end
|
901
|
+
|
902
|
+
def unbounded?
|
903
|
+
@from == -Float::INFINITY && @to == Float::INFINITY
|
911
904
|
end
|
912
905
|
|
913
906
|
protected
|
@@ -1219,7 +1212,8 @@ class PCollectionType < PAnyType
|
|
1219
1212
|
end
|
1220
1213
|
|
1221
1214
|
def instance?(o, guard = nil)
|
1222
|
-
|
1215
|
+
# The inferred type of a class derived from Array or Hash is either Runtime or Object. It's not assignable to the Collection type.
|
1216
|
+
if o.instance_of?(Array) || o.instance_of?(Hash)
|
1223
1217
|
@size_type.nil? || @size_type.instance?(o.size)
|
1224
1218
|
else
|
1225
1219
|
false
|
@@ -1304,8 +1298,6 @@ class PIterableType < PTypeWithContainedType
|
|
1304
1298
|
o >= 0
|
1305
1299
|
when PIntegerType
|
1306
1300
|
o.finite_range?
|
1307
|
-
when PTypeAliasType
|
1308
|
-
instance?(o.resolved_type, guard)
|
1309
1301
|
else
|
1310
1302
|
false
|
1311
1303
|
end
|
@@ -1378,9 +1370,9 @@ end
|
|
1378
1370
|
|
1379
1371
|
# @api public
|
1380
1372
|
#
|
1381
|
-
class PStringType <
|
1373
|
+
class PStringType < PScalarDataType
|
1382
1374
|
def self.register_ptype(loader, ir)
|
1383
|
-
create_ptype(loader, ir, '
|
1375
|
+
create_ptype(loader, ir, 'ScalarDataType',
|
1384
1376
|
'size_type_or_value' => {
|
1385
1377
|
KEY_TYPE => POptionalType.new(PVariantType.new([PStringType::DEFAULT, PType.new(PIntegerType::DEFAULT)])),
|
1386
1378
|
KEY_VALUE => nil
|
@@ -1392,7 +1384,7 @@ class PStringType < PScalarType
|
|
1392
1384
|
def initialize(size_type_or_value, deprecated_multi_args = EMPTY_ARRAY)
|
1393
1385
|
unless deprecated_multi_args.empty?
|
1394
1386
|
if Puppet[:strict] != :off
|
1395
|
-
Puppet.warn_once(
|
1387
|
+
Puppet.warn_once('deprecations', "PStringType#initialize_multi_args", "Passing more than one argument to PStringType#initialize is deprecated")
|
1396
1388
|
end
|
1397
1389
|
size_type_or_value = deprecated_multi_args[0]
|
1398
1390
|
end
|
@@ -1445,7 +1437,7 @@ class PStringType < PScalarType
|
|
1445
1437
|
# @api private
|
1446
1438
|
def values
|
1447
1439
|
if Puppet[:strict] != :off
|
1448
|
-
Puppet.warn_once(
|
1440
|
+
Puppet.warn_once('deprecations', "PStringType#values", "Method PStringType#values is deprecated. Use #value instead")
|
1449
1441
|
end
|
1450
1442
|
@value.is_a?(String) ? [@value] : EMPTY_ARRAY
|
1451
1443
|
end
|
@@ -1579,64 +1571,10 @@ class PRegexpType < PScalarType
|
|
1579
1571
|
|
1580
1572
|
attr_reader :pattern
|
1581
1573
|
|
1582
|
-
# @param regexp [Regexp] the regular expression
|
1583
|
-
# @return [String] the Regexp as a slash delimited string with slashes escaped
|
1584
|
-
def self.regexp_to_s_with_delimiters(regexp)
|
1585
|
-
regexp.options == 0 ? regexp.inspect : "/#{regexp.to_s}/"
|
1586
|
-
end
|
1587
|
-
|
1588
|
-
# @param regexp [Regexp] the regular expression
|
1589
|
-
# @return [String] the Regexp as a string without escaped slash
|
1590
|
-
def self.regexp_to_s(regexp)
|
1591
|
-
# Rubies < 2.0.0 retains escaped delimiters in the source string.
|
1592
|
-
@source_retains_escaped_slash ||= Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
|
1593
|
-
source = regexp.source
|
1594
|
-
if @source_retains_escaped_slash && source.include?('\\')
|
1595
|
-
# Restore corrupt string in rubies <2.0.0, i.e. turn '\/' into '/' but
|
1596
|
-
# don't touch valid escapes such as '\s', '\{' etc.
|
1597
|
-
escaped = false
|
1598
|
-
bld = ''
|
1599
|
-
source.each_codepoint do |codepoint|
|
1600
|
-
if escaped
|
1601
|
-
bld << 0x5c unless codepoint == 0x2f # '/'
|
1602
|
-
bld << codepoint
|
1603
|
-
escaped = false
|
1604
|
-
elsif codepoint == 0x5c # '\'
|
1605
|
-
escaped = true
|
1606
|
-
elsif codepoint <= 0x7f
|
1607
|
-
bld << codepoint
|
1608
|
-
else
|
1609
|
-
bld << [codepoint].pack('U')
|
1610
|
-
end
|
1611
|
-
end
|
1612
|
-
source = bld
|
1613
|
-
end
|
1614
|
-
append_flags_group(source, regexp.options)
|
1615
|
-
end
|
1616
|
-
|
1617
|
-
def self.append_flags_group(rx_string, options)
|
1618
|
-
if options == 0
|
1619
|
-
rx_string
|
1620
|
-
else
|
1621
|
-
bld = '(?'
|
1622
|
-
bld << 'i' if (options & Regexp::IGNORECASE) != 0
|
1623
|
-
bld << 'm' if (options & Regexp::MULTILINE) != 0
|
1624
|
-
bld << 'x' if (options & Regexp::EXTENDED) != 0
|
1625
|
-
unless options == (Regexp::IGNORECASE | Regexp::MULTILINE | Regexp::EXTENDED)
|
1626
|
-
bld << '-'
|
1627
|
-
bld << 'i' if (options & Regexp::IGNORECASE) == 0
|
1628
|
-
bld << 'm' if (options & Regexp::MULTILINE) == 0
|
1629
|
-
bld << 'x' if (options & Regexp::EXTENDED) == 0
|
1630
|
-
end
|
1631
|
-
bld << ':' << rx_string << ')'
|
1632
|
-
bld.freeze
|
1633
|
-
end
|
1634
|
-
end
|
1635
|
-
|
1636
1574
|
def initialize(pattern)
|
1637
1575
|
if pattern.is_a?(Regexp)
|
1638
1576
|
@regexp = pattern
|
1639
|
-
@pattern =
|
1577
|
+
@pattern = pattern.options == 0 ? pattern.source : pattern.to_s
|
1640
1578
|
else
|
1641
1579
|
@pattern = pattern
|
1642
1580
|
end
|
@@ -1655,7 +1593,7 @@ class PRegexpType < PScalarType
|
|
1655
1593
|
end
|
1656
1594
|
|
1657
1595
|
def instance?(o, guard=nil)
|
1658
|
-
o.is_a?(Regexp) && @pattern.nil? ||
|
1596
|
+
o.is_a?(Regexp) && (@pattern.nil? || @pattern == (o.options == 0 ? o.source : o.to_s))
|
1659
1597
|
end
|
1660
1598
|
|
1661
1599
|
DEFAULT = PRegexpType.new(nil)
|
@@ -1674,9 +1612,9 @@ end
|
|
1674
1612
|
#
|
1675
1613
|
# @api public
|
1676
1614
|
#
|
1677
|
-
class PPatternType <
|
1615
|
+
class PPatternType < PScalarDataType
|
1678
1616
|
def self.register_ptype(loader, ir)
|
1679
|
-
create_ptype(loader, ir, '
|
1617
|
+
create_ptype(loader, ir, 'ScalarDataType', 'patterns' => PArrayType.new(PRegexpType::DEFAULT))
|
1680
1618
|
end
|
1681
1619
|
|
1682
1620
|
attr_reader :patterns
|
@@ -1744,9 +1682,9 @@ end
|
|
1744
1682
|
|
1745
1683
|
# @api public
|
1746
1684
|
#
|
1747
|
-
class PBooleanType <
|
1685
|
+
class PBooleanType < PScalarDataType
|
1748
1686
|
def self.register_ptype(loader, ir)
|
1749
|
-
create_ptype(loader, ir, '
|
1687
|
+
create_ptype(loader, ir, 'ScalarDataType')
|
1750
1688
|
end
|
1751
1689
|
|
1752
1690
|
def instance?(o, guard = nil)
|
@@ -1854,6 +1792,14 @@ class PStructElement < TypedModelObject
|
|
1854
1792
|
def ==(o)
|
1855
1793
|
self.class == o.class && value_type == o.value_type && key_type == o.key_type
|
1856
1794
|
end
|
1795
|
+
|
1796
|
+
# Special boostrap method to overcome the hen and egg problem with the Object initializer that contains
|
1797
|
+
# types that are derived from Object (such as Annotation)
|
1798
|
+
#
|
1799
|
+
# @api private
|
1800
|
+
def replace_value_type(new_type)
|
1801
|
+
@value_type = new_type
|
1802
|
+
end
|
1857
1803
|
end
|
1858
1804
|
|
1859
1805
|
# @api public
|
@@ -1942,7 +1888,8 @@ class PStructType < PAnyType
|
|
1942
1888
|
end
|
1943
1889
|
|
1944
1890
|
def instance?(o, guard = nil)
|
1945
|
-
|
1891
|
+
# The inferred type of a class derived from Hash is either Runtime or Object. It's not assignable to the Struct type.
|
1892
|
+
return false unless o.instance_of?(Hash)
|
1946
1893
|
matched = 0
|
1947
1894
|
@elements.all? do |e|
|
1948
1895
|
key = e.name
|
@@ -2114,7 +2061,8 @@ class PTupleType < PAnyType
|
|
2114
2061
|
end
|
2115
2062
|
|
2116
2063
|
def instance?(o, guard = nil)
|
2117
|
-
|
2064
|
+
# The inferred type of a class derived from Array is either Runtime or Object. It's not assignable to the Tuple type.
|
2065
|
+
return false unless o.instance_of?(Array)
|
2118
2066
|
if @size_type
|
2119
2067
|
return false unless @size_type.instance?(o.size, guard)
|
2120
2068
|
else
|
@@ -2173,7 +2121,6 @@ class PTupleType < PAnyType
|
|
2173
2121
|
PArrayType.new_function(self, loader)
|
2174
2122
|
end
|
2175
2123
|
|
2176
|
-
DATA = PTupleType.new([PDataType::DEFAULT], PCollectionType::DEFAULT_SIZE)
|
2177
2124
|
DEFAULT = PTupleType.new(EMPTY_ARRAY)
|
2178
2125
|
|
2179
2126
|
protected
|
@@ -2383,7 +2330,7 @@ class PArrayType < PCollectionType
|
|
2383
2330
|
create_ptype(loader, ir, 'CollectionType',
|
2384
2331
|
'element_type' => {
|
2385
2332
|
KEY_TYPE => POptionalType.new(PType::DEFAULT),
|
2386
|
-
KEY_VALUE =>
|
2333
|
+
KEY_VALUE => PAnyType::DEFAULT
|
2387
2334
|
}
|
2388
2335
|
)
|
2389
2336
|
end
|
@@ -2395,13 +2342,13 @@ class PArrayType < PCollectionType
|
|
2395
2342
|
if !size_type.nil? && size_type.from == 0 && size_type.to == 0
|
2396
2343
|
@element_type = PUnitType::DEFAULT
|
2397
2344
|
else
|
2398
|
-
@element_type = element_type
|
2345
|
+
@element_type = element_type.nil? ? PAnyType::DEFAULT : element_type
|
2399
2346
|
end
|
2400
2347
|
end
|
2401
2348
|
|
2402
2349
|
def accept(visitor, guard)
|
2403
2350
|
super
|
2404
|
-
@element_type.accept(visitor, guard)
|
2351
|
+
@element_type.accept(visitor, guard)
|
2405
2352
|
end
|
2406
2353
|
|
2407
2354
|
# @api private
|
@@ -2413,9 +2360,7 @@ class PArrayType < PCollectionType
|
|
2413
2360
|
end
|
2414
2361
|
|
2415
2362
|
def generalize
|
2416
|
-
if
|
2417
|
-
self
|
2418
|
-
elsif @element_type.nil?
|
2363
|
+
if PAnyType::DEFAULT.eql?(@element_type)
|
2419
2364
|
DEFAULT
|
2420
2365
|
else
|
2421
2366
|
ge_type = @element_type.generalize
|
@@ -2432,9 +2377,7 @@ class PArrayType < PCollectionType
|
|
2432
2377
|
end
|
2433
2378
|
|
2434
2379
|
def normalize(guard = nil)
|
2435
|
-
if
|
2436
|
-
self
|
2437
|
-
elsif @element_type.nil?
|
2380
|
+
if PAnyType::DEFAULT.eql?(@element_type)
|
2438
2381
|
DEFAULT
|
2439
2382
|
else
|
2440
2383
|
ne_type = @element_type.normalize(guard)
|
@@ -2443,21 +2386,20 @@ class PArrayType < PCollectionType
|
|
2443
2386
|
end
|
2444
2387
|
|
2445
2388
|
def resolve(type_parser, loader)
|
2446
|
-
relement_type = @element_type
|
2447
|
-
relement_type = relement_type.resolve(type_parser, loader) unless relement_type.nil?
|
2389
|
+
relement_type = @element_type.resolve(type_parser, loader)
|
2448
2390
|
relement_type.equal?(@element_type) ? self : self.class.new(relement_type, @size_type)
|
2449
2391
|
end
|
2450
2392
|
|
2451
2393
|
def instance?(o, guard = nil)
|
2452
|
-
|
2453
|
-
|
2454
|
-
return false unless
|
2394
|
+
# The inferred type of a class derived from Array is either Runtime or Object. It's not assignable to the Array type.
|
2395
|
+
return false unless o.instance_of?(Array)
|
2396
|
+
return false unless o.all? {|element| @element_type.instance?(element, guard) }
|
2455
2397
|
size_t = size_type
|
2456
2398
|
size_t.nil? || size_t.instance?(o.size, guard)
|
2457
2399
|
end
|
2458
2400
|
|
2459
2401
|
def iterable_type(guard = nil)
|
2460
|
-
@element_type
|
2402
|
+
PAnyType::DEFAULT.eql?(@element_type) ? PIterableType::DEFAULT : PIterableType.new(@element_type)
|
2461
2403
|
end
|
2462
2404
|
|
2463
2405
|
# Returns a new function that produces an Array
|
@@ -2503,7 +2445,6 @@ class PArrayType < PCollectionType
|
|
2503
2445
|
end
|
2504
2446
|
end
|
2505
2447
|
|
2506
|
-
DATA = PArrayType.new(PDataType::DEFAULT, DEFAULT_SIZE)
|
2507
2448
|
DEFAULT = PArrayType.new(nil)
|
2508
2449
|
EMPTY = PArrayType.new(PUnitType::DEFAULT, ZERO_SIZE)
|
2509
2450
|
|
@@ -2512,12 +2453,7 @@ class PArrayType < PCollectionType
|
|
2512
2453
|
# Array is assignable if o is an Array and o's element type is assignable, or if o is a Tuple
|
2513
2454
|
# @api private
|
2514
2455
|
def _assignable?(o, guard)
|
2515
|
-
s_entry = element_type
|
2516
2456
|
if o.is_a?(PTupleType)
|
2517
|
-
# If s_entry is nil, this Array type has no opinion on element types. Therefore any
|
2518
|
-
# tuple can be assigned.
|
2519
|
-
return true if s_entry.nil?
|
2520
|
-
|
2521
2457
|
o_types = o.types
|
2522
2458
|
size_s = size_type || DEFAULT_SIZE
|
2523
2459
|
size_o = o.size_type
|
@@ -2525,9 +2461,9 @@ class PArrayType < PCollectionType
|
|
2525
2461
|
type_count = o_types.size
|
2526
2462
|
size_o = PIntegerType.new(type_count, type_count)
|
2527
2463
|
end
|
2528
|
-
size_s.assignable?(size_o) && o_types.all? { |ot|
|
2464
|
+
size_s.assignable?(size_o) && o_types.all? { |ot| @element_type.assignable?(ot, guard) }
|
2529
2465
|
elsif o.is_a?(PArrayType)
|
2530
|
-
super &&
|
2466
|
+
super && @element_type.assignable?(o.element_type, guard)
|
2531
2467
|
else
|
2532
2468
|
false
|
2533
2469
|
end
|
@@ -2542,11 +2478,11 @@ class PHashType < PCollectionType
|
|
2542
2478
|
create_ptype(loader, ir, 'CollectionType',
|
2543
2479
|
'key_type' => {
|
2544
2480
|
KEY_TYPE => POptionalType.new(PType::DEFAULT),
|
2545
|
-
KEY_VALUE =>
|
2481
|
+
KEY_VALUE => PAnyType::DEFAULT
|
2546
2482
|
},
|
2547
2483
|
'value_type' => {
|
2548
2484
|
KEY_TYPE => POptionalType.new(PType::DEFAULT),
|
2549
|
-
KEY_VALUE =>
|
2485
|
+
KEY_VALUE => PAnyType::DEFAULT
|
2550
2486
|
}
|
2551
2487
|
)
|
2552
2488
|
end
|
@@ -2559,45 +2495,43 @@ class PHashType < PCollectionType
|
|
2559
2495
|
@key_type = PUnitType::DEFAULT
|
2560
2496
|
@value_type = PUnitType::DEFAULT
|
2561
2497
|
else
|
2562
|
-
@key_type = key_type
|
2563
|
-
@value_type = value_type
|
2498
|
+
@key_type = key_type.nil? ? PAnyType::DEFAULT : key_type
|
2499
|
+
@value_type = value_type.nil? ? PAnyType::DEFAULT : value_type
|
2564
2500
|
end
|
2565
2501
|
end
|
2566
2502
|
|
2567
2503
|
def accept(visitor, guard)
|
2568
2504
|
super
|
2569
|
-
@key_type.accept(visitor, guard)
|
2570
|
-
@value_type.accept(visitor, guard)
|
2505
|
+
@key_type.accept(visitor, guard)
|
2506
|
+
@value_type.accept(visitor, guard)
|
2571
2507
|
end
|
2572
2508
|
|
2573
2509
|
def element_type
|
2574
2510
|
if Puppet[:strict] != :off
|
2575
|
-
Puppet.warn_once(
|
2511
|
+
Puppet.warn_once('deprecations', 'Puppet::Pops::Types::PHashType#element_type',
|
2576
2512
|
'Puppet::Pops::Types::PHashType#element_type is deprecated, use #value_type instead')
|
2577
2513
|
end
|
2578
2514
|
@value_type
|
2579
2515
|
end
|
2580
2516
|
|
2581
2517
|
def generalize
|
2582
|
-
if self == DEFAULT || self ==
|
2518
|
+
if self == DEFAULT || self == EMPTY
|
2583
2519
|
self
|
2584
2520
|
else
|
2585
2521
|
key_t = @key_type
|
2586
|
-
key_t = key_t.generalize
|
2522
|
+
key_t = key_t.generalize
|
2587
2523
|
value_t = @value_type
|
2588
|
-
value_t = value_t.generalize
|
2524
|
+
value_t = value_t.generalize
|
2589
2525
|
@size_type.nil? && @key_type.equal?(key_t) && @value_type.equal?(value_t) ? self : PHashType.new(key_t, value_t, nil)
|
2590
2526
|
end
|
2591
2527
|
end
|
2592
2528
|
|
2593
2529
|
def normalize(guard = nil)
|
2594
|
-
if self == DEFAULT || self ==
|
2530
|
+
if self == DEFAULT || self == EMPTY
|
2595
2531
|
self
|
2596
2532
|
else
|
2597
|
-
key_t = @key_type
|
2598
|
-
|
2599
|
-
value_t = @value_type
|
2600
|
-
value_t = value_t.normalize(guard) unless value_t.nil?
|
2533
|
+
key_t = @key_type.normalize(guard)
|
2534
|
+
value_t = @value_type.normalize(guard)
|
2601
2535
|
@size_type.nil? && @key_type.equal?(key_t) && @value_type.equal?(value_t) ? self : PHashType.new(key_t, value_t, @size_type)
|
2602
2536
|
end
|
2603
2537
|
end
|
@@ -2607,11 +2541,9 @@ class PHashType < PCollectionType
|
|
2607
2541
|
end
|
2608
2542
|
|
2609
2543
|
def instance?(o, guard = nil)
|
2610
|
-
|
2611
|
-
|
2612
|
-
|
2613
|
-
if (key_t.nil? || o.keys.all? {|key| key_t.instance?(key, guard) }) &&
|
2614
|
-
(value_t.nil? || o.values.all? {|value| value_t.instance?(value, guard) })
|
2544
|
+
# The inferred type of a class derived from Hash is either Runtime or Object. It's not assignable to the Hash type.
|
2545
|
+
return false unless o.instance_of?(Hash)
|
2546
|
+
if o.keys.all? {|key| @key_type.instance?(key, guard) } && o.values.all? {|value| @value_type.instance?(value, guard) }
|
2615
2547
|
size_t = size_type
|
2616
2548
|
size_t.nil? || size_t.instance?(o.size, guard)
|
2617
2549
|
else
|
@@ -2640,10 +2572,8 @@ class PHashType < PCollectionType
|
|
2640
2572
|
end
|
2641
2573
|
|
2642
2574
|
def resolve(type_parser, loader)
|
2643
|
-
rkey_type = @key_type
|
2644
|
-
|
2645
|
-
rvalue_type = @value_type
|
2646
|
-
rvalue_type = rvalue_type.resolve(type_parser, loader) unless rvalue_type.nil?
|
2575
|
+
rkey_type = @key_type.resolve(type_parser, loader)
|
2576
|
+
rvalue_type = @value_type.resolve(type_parser, loader)
|
2647
2577
|
rkey_type.equal?(@key_type) && rvalue_type.equal?(@value_type) ? self : self.class.new(rkey_type, rvalue_type, @size_type)
|
2648
2578
|
end
|
2649
2579
|
|
@@ -2697,7 +2627,6 @@ class PHashType < PCollectionType
|
|
2697
2627
|
DEFAULT = PHashType.new(nil, nil)
|
2698
2628
|
KEY_PAIR_TUPLE_SIZE = PIntegerType.new(2,2)
|
2699
2629
|
DEFAULT_KEY_PAIR_TUPLE = PTupleType.new([PUnitType::DEFAULT, PUnitType::DEFAULT], KEY_PAIR_TUPLE_SIZE)
|
2700
|
-
DATA = PHashType.new(PScalarType::DEFAULT, PDataType::DEFAULT, DEFAULT_SIZE)
|
2701
2630
|
EMPTY = PHashType.new(PUnitType::DEFAULT, PUnitType::DEFAULT, PIntegerType.new(0, 0))
|
2702
2631
|
|
2703
2632
|
protected
|
@@ -2706,20 +2635,20 @@ class PHashType < PCollectionType
|
|
2706
2635
|
# @api private
|
2707
2636
|
def _assignable?(o, guard)
|
2708
2637
|
case o
|
2709
|
-
|
2710
|
-
|
2711
|
-
|
2712
|
-
|
2713
|
-
|
2714
|
-
|
2715
|
-
|
2716
|
-
|
2717
|
-
|
2718
|
-
|
2719
|
-
|
2720
|
-
|
2721
|
-
|
2722
|
-
|
2638
|
+
when PHashType
|
2639
|
+
size_s = size_type
|
2640
|
+
return true if (size_s.nil? || size_s.from == 0) && o.is_the_empty_hash?
|
2641
|
+
return false unless @key_type.assignable?(o.key_type, guard) && @value_type.assignable?(o.value_type, guard)
|
2642
|
+
super
|
2643
|
+
when PStructType
|
2644
|
+
# hash must accept String as key type
|
2645
|
+
# hash must accept all value types
|
2646
|
+
# hash must accept the size of the struct
|
2647
|
+
o_elements = o.elements
|
2648
|
+
(size_type || DEFAULT_SIZE).instance?(o_elements.size, guard) &&
|
2649
|
+
o_elements.all? {|e| @key_type.instance?(e.name, guard) && @value_type.assignable?(e.value_type, guard) }
|
2650
|
+
else
|
2651
|
+
false
|
2723
2652
|
end
|
2724
2653
|
end
|
2725
2654
|
end
|
@@ -2767,7 +2696,7 @@ class PVariantType < PAnyType
|
|
2767
2696
|
end
|
2768
2697
|
|
2769
2698
|
def generalize
|
2770
|
-
if self == DEFAULT
|
2699
|
+
if self == DEFAULT
|
2771
2700
|
self
|
2772
2701
|
else
|
2773
2702
|
alter_type_array(@types, :generalize) { |altered| PVariantType.maybe_create(altered) }
|
@@ -2775,7 +2704,7 @@ class PVariantType < PAnyType
|
|
2775
2704
|
end
|
2776
2705
|
|
2777
2706
|
def normalize(guard = nil)
|
2778
|
-
if self == DEFAULT ||
|
2707
|
+
if self == DEFAULT || @types.empty?
|
2779
2708
|
self
|
2780
2709
|
else
|
2781
2710
|
# Normalize all contained types
|
@@ -2854,27 +2783,20 @@ class PVariantType < PAnyType
|
|
2854
2783
|
end
|
2855
2784
|
|
2856
2785
|
def eql?(o)
|
2857
|
-
o = DATA if o.is_a?(PDataType)
|
2858
2786
|
self.class == o.class && @types.size == o.types.size && (@types - o.types).empty?
|
2859
2787
|
end
|
2860
2788
|
|
2861
|
-
# Variant compatible with the Data type.
|
2862
|
-
DATA = PVariantType.new([PHashType::DATA, PArrayType::DATA, PScalarType::DEFAULT, PUndefType::DEFAULT, PTupleType::DATA])
|
2863
|
-
|
2864
2789
|
DEFAULT = PVariantType.new(EMPTY_ARRAY)
|
2865
2790
|
|
2866
2791
|
protected
|
2867
2792
|
|
2868
2793
|
# @api private
|
2869
2794
|
def _assignable?(o, guard)
|
2870
|
-
# Data is a specific variant
|
2871
|
-
o = DATA if o.is_a?(PDataType)
|
2872
2795
|
if o.is_a?(PVariantType)
|
2873
2796
|
# A variant is assignable if all of its options are assignable to one of this type's options
|
2874
2797
|
return true if self == o
|
2875
2798
|
o.types.all? do |other|
|
2876
2799
|
# if the other is a Variant, all of its options, but be assignable to one of this type's options
|
2877
|
-
other = other.is_a?(PDataType) ? DATA : other
|
2878
2800
|
if other.is_a?(PVariantType)
|
2879
2801
|
assignable?(other, guard)
|
2880
2802
|
else
|
@@ -3458,6 +3380,8 @@ require 'puppet/pops/pcore'
|
|
3458
3380
|
require_relative 'annotatable'
|
3459
3381
|
require_relative 'p_meta_type'
|
3460
3382
|
require_relative 'p_object_type'
|
3383
|
+
require_relative 'annotation'
|
3384
|
+
require_relative 'ruby_method'
|
3461
3385
|
require_relative 'p_runtime_type'
|
3462
3386
|
require_relative 'p_sem_ver_type'
|
3463
3387
|
require_relative 'p_sem_ver_range_type'
|