Naive `pdk convert` attempt
[rnelson0@build03 domain_join:pdk±]$ git diff | |
diff --git a/.gitignore b/.gitignore | |
index 5caea85..49bc2a4 100644 | |
--- a/.gitignore | |
+++ b/.gitignore | |
@@ -1,13 +1,23 @@ | |
-.*.sw? | |
-/pkg | |
-/spec/fixtures/manifests | |
-/spec/fixtures/modules | |
-/.rspec_system | |
-/.vagrant | |
-/.bundle | |
-/vendor | |
-/Gemfile.lock | |
-/junit | |
-/log | |
+.*.sw[op] | |
+.metadata | |
.yardoc | |
-coverage | |
+.yardwarns | |
+*.iml | |
+/.bundle/ | |
+/.idea/ | |
+/.vagrant/ | |
+/coverage/ | |
+/bin/ | |
+/doc/ | |
+/Gemfile.local | |
+/Gemfile.lock | |
+/junit/ | |
+/log/ | |
+/pkg/ | |
+/spec/fixtures/manifests/ | |
+/spec/fixtures/modules/ | |
+/tmp/ | |
+/vendor/ | |
+/convert_report.txt | |
+/update_report.txt | |
+.DS_Store | |
diff --git a/.rspec b/.rspec | |
index 8c18f1a..16f9cdb 100644 | |
--- a/.rspec | |
+++ b/.rspec | |
@@ -1,2 +1,2 @@ | |
---format documentation | |
--color | |
+--format documentation | |
diff --git a/.rubocop.yml b/.rubocop.yml | |
index e4d810a..40a58e0 100644 | |
--- a/.rubocop.yml | |
+++ b/.rubocop.yml | |
@@ -1,480 +1,107 @@ | |
+--- | |
+require: rubocop-rspec | |
AllCops: | |
+ DisplayCopNames: true | |
+ TargetRubyVersion: '2.1' | |
+ Include: | |
+ - "./**/*.rb" | |
Exclude: | |
- # Ignore HTML related things | |
- - '**/*.erb' | |
- # Ignore vendored gems | |
- - 'vendor/**/*' | |
- # Ignore code from test fixtures | |
- - 'spec/fixtures/**/*' | |
- | |
-Lint/ConditionPosition: | |
- Enabled: true | |
- | |
-Lint/ElseLayout: | |
- Enabled: true | |
- | |
-Lint/UnreachableCode: | |
- Enabled: true | |
- | |
-Lint/UselessComparison: | |
- Enabled: true | |
- | |
-Lint/EnsureReturn: | |
- Enabled: true | |
- | |
-Lint/HandleExceptions: | |
- Enabled: true | |
- | |
-Lint/LiteralInCondition: | |
- Enabled: true | |
- | |
-Lint/ShadowingOuterLocalVariable: | |
- Enabled: true | |
- | |
-Lint/LiteralInInterpolation: | |
- Enabled: true | |
- | |
-Style/RedundantReturn: | |
- Enabled: true | |
- | |
-Lint/AmbiguousOperator: | |
- Enabled: true | |
- | |
-Lint/AssignmentInCondition: | |
- Enabled: true | |
- | |
-Style/SpaceBeforeComment: | |
- Enabled: true | |
- | |
-# DISABLED - not useful | |
-Style/HashSyntax: | |
- Enabled: false | |
- | |
-# USES: as shortcut for non nil&valid checking a = x() and a.empty? | |
-# DISABLED - not useful | |
-Style/AndOr: | |
- Enabled: false | |
- | |
-# DISABLED - not useful | |
-Style/RedundantSelf: | |
- Enabled: false | |
- | |
-# DISABLED - not useful | |
-Metrics/MethodLength: | |
- Enabled: false | |
- | |
-# DISABLED - not useful | |
-Style/WhileUntilModifier: | |
- Enabled: false | |
- | |
-# DISABLED - the offender is just haskell envy | |
-Lint/AmbiguousRegexpLiteral: | |
- Enabled: false | |
- | |
-# DISABLED | |
-Lint/Eval: | |
- Enabled: false | |
- | |
-# DISABLED | |
-Lint/BlockAlignment: | |
- Enabled: false | |
- | |
-# DISABLED | |
-Lint/DefEndAlignment: | |
- Enabled: false | |
- | |
-# DISABLED | |
-Lint/EndAlignment: | |
- Enabled: false | |
- | |
-# DISABLED | |
-Lint/DeprecatedClassMethods: | |
- Enabled: false | |
- | |
-# DISABLED | |
-Lint/Loop: | |
- Enabled: false | |
- | |
-# DISABLED | |
-Lint/ParenthesesAsGroupedExpression: | |
- Enabled: false | |
- | |
-Lint/RescueException: | |
- Enabled: false | |
- | |
-Lint/StringConversionInInterpolation: | |
- Enabled: false | |
- | |
-Lint/UnusedBlockArgument: | |
- Enabled: false | |
- | |
-Lint/UnusedMethodArgument: | |
- Enabled: false | |
- | |
-Lint/UselessAccessModifier: | |
+ - bin/* | |
+ - ".vendor/**/*" | |
+ - Gemfile | |
+ - Rakefile | |
+ - pkg/**/* | |
+ - spec/fixtures/**/* | |
+ - vendor/**/* | |
+Metrics/LineLength: | |
+ Description: People have wide screens, use them. | |
+ Max: 200 | |
+RSpec/BeforeAfterAll: | |
+ Description: Beware of using after(:all) as it may cause state to leak between tests. | |
+ A necessary evil in acceptance testing. | |
+ Exclude: | |
+ - spec/acceptance/**/*.rb | |
+RSpec/HookArgument: | |
+ Description: Prefer explicit :each argument, matching existing module's style | |
+ EnforcedStyle: each | |
+Style/BlockDelimiters: | |
+ Description: Prefer braces for chaining. Mostly an aesthetical choice. Better to | |
+ be consistent then. | |
+ EnforcedStyle: braces_for_chaining | |
+Style/ClassAndModuleChildren: | |
+ Description: Compact style reduces the required amount of indentation. | |
+ EnforcedStyle: compact | |
+Style/EmptyElse: | |
+ Description: Enforce against empty else clauses, but allow `nil` for clarity. | |
+ EnforcedStyle: empty | |
+Style/FormatString: | |
+ Description: Following the main puppet project's style, prefer the % format format. | |
+ EnforcedStyle: percent | |
+Style/FormatStringToken: | |
+ Description: Following the main puppet project's style, prefer the simpler template | |
+ tokens over annotated ones. | |
+ EnforcedStyle: template | |
+Style/Lambda: | |
+ Description: Prefer the keyword for easier discoverability. | |
+ EnforcedStyle: literal | |
+Style/RegexpLiteral: | |
+ Description: Community preference. See https://github.com/voxpupuli/modulesync_config/issues/168 | |
+ EnforcedStyle: percent_r | |
+Style/TernaryParentheses: | |
+ Description: Checks for use of parentheses around ternary conditions. Enforce parentheses | |
+ on complex expressions for better readability, but seriously consider breaking | |
+ it up. | |
+ EnforcedStyle: require_parentheses_when_complex | |
+Style/TrailingCommaInArguments: | |
+ Description: Prefer always trailing comma on multiline argument lists. This makes | |
+ diffs, and re-ordering nicer. | |
+ EnforcedStyleForMultiline: comma | |
+Style/TrailingCommaInLiteral: | |
+ Description: Prefer always trailing comma on multiline literals. This makes diffs, | |
+ and re-ordering nicer. | |
+ EnforcedStyleForMultiline: comma | |
+Style/SymbolArray: | |
+ Description: Using percent style obscures symbolic intent of array's contents. | |
+ EnforcedStyle: brackets | |
+RSpec/MessageSpies: | |
+ EnforcedStyle: receive | |
+Style/CollectionMethods: | |
Enabled: true | |
- | |
-Lint/UselessAssignment: | |
+Style/MethodCalledOnDoEndBlock: | |
Enabled: true | |
- | |
-Lint/Void: | |
+Style/StringMethods: | |
Enabled: true | |
- | |
-Style/AccessModifierIndentation: | |
+Layout/EndOfLine: | |
Enabled: false | |
- | |
-Style/AccessorMethodName: | |
+Metrics/AbcSize: | |
Enabled: false | |
- | |
-Style/Alias: | |
+Metrics/BlockLength: | |
Enabled: false | |
- | |
-Style/AlignArray: | |
- Enabled: false | |
- | |
-Style/AlignHash: | |
- Enabled: false | |
- | |
-Style/AlignParameters: | |
- Enabled: false | |
- | |
-Metrics/BlockNesting: | |
- Enabled: false | |
- | |
-Style/AsciiComments: | |
- Enabled: false | |
- | |
-Style/Attr: | |
- Enabled: false | |
- | |
-Style/BracesAroundHashParameters: | |
- Enabled: false | |
- | |
-Style/CaseEquality: | |
- Enabled: false | |
- | |
-Style/CaseIndentation: | |
- Enabled: false | |
- | |
-Style/CharacterLiteral: | |
- Enabled: false | |
- | |
-Style/ClassAndModuleCamelCase: | |
- Enabled: false | |
- | |
-Style/ClassAndModuleChildren: | |
- Enabled: false | |
- | |
-Style/ClassCheck: | |
- Enabled: false | |
- | |
Metrics/ClassLength: | |
Enabled: false | |
- | |
-Style/ClassMethods: | |
- Enabled: false | |
- | |
-Style/ClassVars: | |
- Enabled: false | |
- | |
-Style/WhenThen: | |
- Enabled: false | |
- | |
-# DISABLED - not useful | |
-Style/WordArray: | |
- Enabled: false | |
- | |
-Style/UnneededPercentQ: | |
- Enabled: false | |
- | |
-Style/Tab: | |
- Enabled: false | |
- | |
-Style/SpaceBeforeSemicolon: | |
- Enabled: false | |
- | |
-Style/TrailingBlankLines: | |
- Enabled: false | |
- | |
-Style/SpaceInsideBlockBraces: | |
- Enabled: false | |
- | |
-Style/SpaceInsideBrackets: | |
- Enabled: false | |
- | |
-Style/SpaceInsideHashLiteralBraces: | |
- Enabled: false | |
- | |
-Style/SpaceInsideParens: | |
- Enabled: false | |
- | |
-Style/LeadingCommentSpace: | |
- Enabled: false | |
- | |
-Style/SingleSpaceBeforeFirstArg: | |
- Enabled: false | |
- | |
-Style/SpaceAfterColon: | |
- Enabled: false | |
- | |
-Style/SpaceAfterComma: | |
- Enabled: false | |
- | |
-Style/SpaceAfterControlKeyword: | |
- Enabled: false | |
- | |
-Style/SpaceAfterMethodName: | |
- Enabled: false | |
- | |
-Style/SpaceAfterNot: | |
- Enabled: false | |
- | |
-Style/SpaceAfterSemicolon: | |
- Enabled: false | |
- | |
-Style/SpaceAroundEqualsInParameterDefault: | |
- Enabled: false | |
- | |
-Style/SpaceAroundOperators: | |
- Enabled: false | |
- | |
-Style/SpaceBeforeBlockBraces: | |
- Enabled: false | |
- | |
-Style/SpaceBeforeComma: | |
- Enabled: false | |
- | |
-Style/CollectionMethods: | |
- Enabled: false | |
- | |
-Style/CommentIndentation: | |
- Enabled: false | |
- | |
-Style/ColonMethodCall: | |
- Enabled: false | |
- | |
-Style/CommentAnnotation: | |
- Enabled: false | |
- | |
Metrics/CyclomaticComplexity: | |
Enabled: false | |
- | |
-Style/ConstantName: | |
- Enabled: false | |
- | |
-Style/Documentation: | |
- Enabled: false | |
- | |
-Style/DefWithParentheses: | |
- Enabled: false | |
- | |
-Style/DeprecatedHashMethods: | |
- Enabled: false | |
- | |
-Style/DotPosition: | |
- Enabled: false | |
- | |
-# DISABLED - used for converting to bool | |
-Style/DoubleNegation: | |
- Enabled: false | |
- | |
-Style/EachWithObject: | |
- Enabled: false | |
- | |
-Style/EmptyLineBetweenDefs: | |
- Enabled: false | |
- | |
-Style/IndentArray: | |
- Enabled: false | |
- | |
-Style/IndentHash: | |
- Enabled: false | |
- | |
-Style/IndentationConsistency: | |
- Enabled: false | |
- | |
-Style/IndentationWidth: | |
- Enabled: false | |
- | |
-Style/EmptyLines: | |
- Enabled: false | |
- | |
-Style/EmptyLinesAroundAccessModifier: | |
- Enabled: false | |
- | |
-Style/EmptyLiteral: | |
+Metrics/MethodLength: | |
Enabled: false | |
- | |
-Metrics/LineLength: | |
+Metrics/ModuleLength: | |
Enabled: false | |
- | |
-Style/MethodCallParentheses: | |
+Metrics/ParameterLists: | |
Enabled: false | |
- | |
-Style/MethodDefParentheses: | |
+Metrics/PerceivedComplexity: | |
Enabled: false | |
- | |
-Style/LineEndConcatenation: | |
+RSpec/DescribeClass: | |
Enabled: false | |
- | |
-Style/TrailingWhitespace: | |
+RSpec/ExampleLength: | |
Enabled: false | |
- | |
-Style/StringLiterals: | |
+RSpec/MessageExpectation: | |
Enabled: false | |
- | |
-Style/TrailingComma: | |
+RSpec/MultipleExpectations: | |
Enabled: false | |
- | |
-Style/GlobalVars: | |
+RSpec/NestedGroups: | |
Enabled: false | |
- | |
-Style/GuardClause: | |
+Style/AsciiComments: | |
Enabled: false | |
- | |
Style/IfUnlessModifier: | |
Enabled: false | |
- | |
-Style/MultilineIfThen: | |
- Enabled: false | |
- | |
-Style/NegatedIf: | |
- Enabled: false | |
- | |
-Style/NegatedWhile: | |
- Enabled: false | |
- | |
-Style/Next: | |
- Enabled: false | |
- | |
-Style/SingleLineBlockParams: | |
- Enabled: false | |
- | |
-Style/SingleLineMethods: | |
- Enabled: false | |
- | |
-Style/SpecialGlobalVars: | |
- Enabled: false | |
- | |
-Style/TrivialAccessors: | |
- Enabled: false | |
- | |
-Style/UnlessElse: | |
- Enabled: false | |
- | |
-Style/VariableInterpolation: | |
- Enabled: false | |
- | |
-Style/VariableName: | |
- Enabled: false | |
- | |
-Style/WhileUntilDo: | |
- Enabled: false | |
- | |
-Style/EvenOdd: | |
- Enabled: false | |
- | |
-Style/FileName: | |
- Enabled: false | |
- | |
-Style/For: | |
- Enabled: false | |
- | |
-Style/Lambda: | |
- Enabled: false | |
- | |
-Style/MethodName: | |
- Enabled: false | |
- | |
-Style/MultilineTernaryOperator: | |
- Enabled: false | |
- | |
-Style/NestedTernaryOperator: | |
- Enabled: false | |
- | |
-Style/NilComparison: | |
- Enabled: false | |
- | |
-Style/FormatString: | |
- Enabled: false | |
- | |
-Style/MultilineBlockChain: | |
- Enabled: false | |
- | |
-Style/Semicolon: | |
- Enabled: false | |
- | |
-Style/SignalException: | |
- Enabled: false | |
- | |
-Style/NonNilCheck: | |
- Enabled: false | |
- | |
-Style/Not: | |
- Enabled: false | |
- | |
-Style/NumericLiterals: | |
- Enabled: false | |
- | |
-Style/OneLineConditional: | |
- Enabled: false | |
- | |
-Style/OpMethod: | |
- Enabled: false | |
- | |
-Style/ParenthesesAroundCondition: | |
- Enabled: false | |
- | |
-Style/PercentLiteralDelimiters: | |
- Enabled: false | |
- | |
-Style/PerlBackrefs: | |
- Enabled: false | |
- | |
-Style/PredicateName: | |
- Enabled: false | |
- | |
-Style/RedundantException: | |
- Enabled: false | |
- | |
-Style/SelfAssignment: | |
- Enabled: false | |
- | |
-Style/Proc: | |
- Enabled: false | |
- | |
-Style/RaiseArgs: | |
- Enabled: false | |
- | |
-Style/RedundantBegin: | |
- Enabled: false | |
- | |
-Style/RescueModifier: | |
- Enabled: false | |
- | |
-Style/RegexpLiteral: | |
- Enabled: false | |
- | |
-Lint/UnderscorePrefixedVariableName: | |
- Enabled: false | |
- | |
-Metrics/ParameterLists: | |
- Enabled: false | |
- | |
-Lint/RequireParentheses: | |
- Enabled: false | |
- | |
-Lint/SpaceBeforeFirstArg: | |
- Enabled: false | |
- | |
-Style/ModuleFunction: | |
- Enabled: false | |
- | |
-Lint/Debugger: | |
- Enabled: false | |
- | |
-Style/IfWithSemicolon: | |
- Enabled: false | |
- | |
-Style/Encoding: | |
+Style/SymbolProc: | |
Enabled: false | |
diff --git a/.travis.yml b/.travis.yml | |
index 30b04c7..0f10309 100644 | |
--- a/.travis.yml | |
+++ b/.travis.yml | |
@@ -1,20 +1,50 @@ | |
--- | |
-language: ruby | |
sudo: false | |
+dist: trusty | |
+language: ruby | |
cache: bundler | |
-notifications: | |
- email: | |
- on_failure: always | |
-branches: | |
- only: | |
- - master | |
-bundler_args: --without development system_tests | |
-before_install: rm Gemfile.lock || true | |
-script: bundle exec rake test | |
+before_install: | |
+ - bundle -v | |
+ - rm -f Gemfile.lock | |
+ - gem update --system | |
+ - gem update bundler | |
+ - gem --version | |
+ - bundle -v | |
+script: | |
+ - 'bundle exec rake $CHECK' | |
+bundler_args: --without system_tests | |
+rvm: | |
+ - 2.4.1 | |
+env: | |
+ - PUPPET_GEM_VERSION="~> 5.0" CHECK=spec | |
matrix: | |
fast_finish: true | |
include: | |
- - rvm: 2.3.1 | |
- env: PUPPET_GEM_VERSION="~> 4.0" STRICT_VARIABLES=yes | |
- - rvm: 2.4.1 | |
- env: PUPPET_GEM_VERSION="~> 5.0" STRICT_VARIABLES=yes | |
+ - | |
+ env: CHECK=rubocop | |
+ - | |
+ env: CHECK="syntax lint" | |
+ - | |
+ env: CHECK=metadata_lint | |
+ - | |
+ env: CHECK=release_checks | |
+ - | |
+ env: CHECK=spec | |
+ - | |
+ env: PUPPET_GEM_VERSION="~> 4.0" CHECK=spec | |
+ rvm: 2.1.9 | |
+branches: | |
+ only: | |
+ - master | |
+ - /^v\d/ | |
+notifications: | |
+ email: false | |
+deploy: | |
+ provider: puppetforge | |
+ user: puppet | |
+ password: | |
+ secure: "" | |
+ on: | |
+ tags: true | |
+ all_branches: true | |
+ condition: "$DEPLOY_TO_FORGE = yes" | |
diff --git a/Gemfile b/Gemfile | |
index c9721aa..ce6db39 100644 | |
--- a/Gemfile | |
+++ b/Gemfile | |
@@ -1,40 +1,79 @@ | |
-source "https://rubygems.org" | |
- | |
-group :test do | |
- gem "rake" | |
- gem "puppet", ENV['PUPPET_GEM_VERSION'] || '~> 4.0' | |
- gem "rspec" | |
- gem "rspec-puppet" | |
- gem "puppetlabs_spec_helper" | |
- gem "metadata-json-lint" | |
- gem "rspec-puppet-facts" | |
- gem 'simplecov' | |
- gem 'coveralls' | |
- gem "parallel_tests" | |
- | |
- # Common puppet-lint plugins | |
- gem "puppet-lint-absolute_classname-check" | |
- gem "puppet-lint-leading_zero-check" | |
- gem "puppet-lint-trailing_comma-check" | |
- gem "puppet-lint-version_comparison-check" | |
- gem "puppet-lint-classes_and_types_beginning_with_digits-check" | |
- gem "puppet-lint-unquoted_string-check" | |
- | |
- gem "json_pure", '< 2.0.1' | |
- | |
- gem "puppet-blacksmith" | |
- | |
- # Changelog generation gems | |
- gem 'github_changelog_generator', '~> 1.13.0' if RUBY_VERSION < '2.2.2' | |
- gem 'github_changelog_generator' if RUBY_VERSION >= '2.2.2' | |
- gem 'rack', '~> 1.0' if RUBY_VERSION < '2.2.2' | |
+source ENV['GEM_SOURCE'] || 'https://rubygems.org' | |
+ | |
+def location_for(place_or_version, fake_version = nil) | |
+ if place_or_version =~ %r{\A(git[:@][^#]*)#(.*)} | |
+ [fake_version, { git: Regexp.last_match(1), branch: Regexp.last_match(2), require: false }].compact | |
+ elsif place_or_version =~ %r{\Afile:\/\/(.*)} | |
+ ['>= 0', { path: File.expand_path(Regexp.last_match(1)), require: false }] | |
+ else | |
+ [place_or_version, { require: false }] | |
+ end | |
+end | |
+ | |
+def gem_type(place_or_version) | |
+ if place_or_version =~ %r{\Agit[:@]} | |
+ :git | |
+ elsif !place_or_version.nil? && place_or_version.start_with?('file:') | |
+ :file | |
+ else | |
+ :gem | |
+ end | |
end | |
+ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments | |
+minor_version = ruby_version_segments[0..1].join('.') | |
+ | |
group :development do | |
+ gem "fast_gettext", '1.1.0', require: false if Gem::Version.new(RUBY_VERSION.dup) < | |
+ gem "fast_gettext", require: false if Gem::Version.new(RUBY_VERSION.dup) > | |
+ gem "json_pure", '<= 2.0.1', require: false if Gem::Version.new(RUBY_VERSION.dup) < | |
+ gem "json", '= 1.8.1', require: false if Gem::Version.new(RUBY_VERSION.dup) = | |
+ gem "json", '<= 2.0.4', require: false if Gem::Version.new(RUBY_VERSION.dup) = | |
+ gem "puppet-module-posix-default-r#{minor_version}", require: false, platforms: [:ruby] | |
+ gem "puppet-module-posix-dev-r#{minor_version}", require: false, platforms: [:ruby] | |
+ gem "puppet-module-win-default-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw | |
+ gem "puppet-module-win-dev-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw | |
+ gem "puppet-blacksmith", '~> 3.4', require: false, platforms: [:ruby] | |
+end | |
+ | |
+puppet_version = ENV['PUPPET_GEM_VERSION'] | |
+puppet_type = gem_type(puppet_version) | |
+facter_version = ENV['FACTER_GEM_VERSION'] | |
+hiera_version = ENV['HIERA_GEM_VERSION'] | |
+ | |
+gems = {} | |
+ | |
+gems['puppet'] = location_for(puppet_version) | |
+ | |
+# If facter or hiera versions have been specified via the environment | |
+# variables | |
+ | |
+gems['facter'] = location_for(facter_version) if facter_version | |
+gems['hiera'] = location_for(hiera_version) if hiera_version | |
+ | |
+if Gem.win_platform? && puppet_version =~ %r{^(file:///|git://)} | |
+ # If we're using a Puppet gem on Windows which handles its own win32-xxx gem | |
+ # dependencies (>= 3.5.0), set the maximum versions (see PUP-6445). | |
+ gems['win32-dir'] = ['<= 0.4.9', require: false] | |
+ gems['win32-eventlog'] = ['<= 0.6.5', require: false] | |
+ gems['win32-process'] = ['<= 0.7.5', require: false] | |
+ gems['win32-security'] = ['<= 0.2.5', require: false] | |
+ gems['win32-service'] = ['0.8.8', require: false] | |
end | |
-group :system_tests do | |
- gem "beaker" | |
- gem "beaker-rspec" | |
- gem "beaker-puppet_install_helper" | |
+gems.each do |gem_name, gem_params| | |
+ gem gem_name, *gem_params | |
+end | |
+ | |
+# Evaluate Gemfile.local and ~/.gemfile if they exist | |
+extra_gemfiles = [ | |
+ "#{__FILE__}.local", | |
+ File.join(Dir.home, '.gemfile'), | |
+] | |
+ | |
+extra_gemfiles.each do |gemfile| | |
+ if File.file?(gemfile) && File.readable?(gemfile) | |
+ eval(File.read(gemfile), binding) | |
+ end | |
end | |
+# vim: syntax=ruby | |
diff --git a/Rakefile b/Rakefile | |
index 218bdc9..fb58663 100644 | |
--- a/Rakefile | |
+++ b/Rakefile | |
@@ -1,74 +1,5 @@ | |
-require 'rubygems' | |
-require 'bundler/setup' | |
- | |
require 'puppetlabs_spec_helper/rake_tasks' | |
-require 'puppet/version' | |
-require 'puppet-lint/tasks/puppet-lint' | |
require 'puppet-syntax/tasks/puppet-syntax' | |
-require 'metadata-json-lint/rake_task' | |
-require 'parallel_tests' | |
-require 'parallel_tests/cli' | |
-require 'github_changelog_generator/task' | |
- | |
-# These gems aren't always present, for instance | |
-# on Travis with --without development | |
-begin | |
- require 'puppet_blacksmith/rake_tasks' | |
-rescue LoadError | |
-end | |
- | |
-exclude_paths = [ | |
- "bundle/**/*", | |
- "pkg/**/*", | |
- "vendor/**/*", | |
- "spec/**/*", | |
-] | |
- | |
-Rake::Task[:lint].clear | |
- | |
-PuppetLint.configuration.relative = true | |
-PuppetLint.configuration.disable_arrow_alignment | |
-PuppetLint.configuration.disable_80chars | |
-PuppetLint.configuration.disable_class_inherits_from_params_class | |
-PuppetLint.configuration.disable_class_parameter_defaults | |
-PuppetLint.configuration.disable_documentation | |
-PuppetLint.configuration.disable_single_quote_string_with_variables | |
-PuppetLint.configuration.fail_on_warnings = true | |
- | |
-PuppetLint::RakeTask.new :lint do |config| | |
- config.ignore_paths = exclude_paths | |
-end | |
- | |
-PuppetSyntax.exclude_paths = exclude_paths | |
- | |
-desc "Run acceptance tests" | |
-RSpec::Core::RakeTask.new(:acceptance) do |t| | |
- t.pattern = 'spec/acceptance' | |
-end | |
- | |
-desc "Populate CONTRIBUTORS file" | |
-task :contributors do | |
- system("git log --format='%aN' | sort -u > CONTRIBUTORS") | |
-end | |
- | |
-desc "Parallel spec tests" | |
-task :parallel_spec do | |
- Rake::Task[:spec_prep].invoke | |
- ParallelTests::CLI.new.run('--type test -t rspec spec/classes spec/defines spec/unit spec/functions'.split) | |
- Rake::Task[:spec_clean].invoke | |
-end | |
- | |
-desc "Run syntax, lint, and spec tests." | |
-task :test => [ | |
- :metadata_lint, | |
- :syntax, | |
- :lint, | |
- :spec, | |
-] | |
+require 'puppet_blacksmith/rake_tasks' if Bundler.rubygems.find_name('puppet-blacksmith').any? | |
-GitHubChangelogGenerator::RakeTask.new :changelog do |config| | |
- version = (Blacksmith::Modulefile.new).version | |
- config.future_release = "v#{version}" | |
- config.header = "# Change log\n\nAll notable changes to this project will be documented in this file.\nEach | |
- config.exclude_labels = %w{duplicate question invalid wontfix modulesync} | |
-end | |
+PuppetLint.configuration.send('relative') | |
diff --git a/metadata.json b/metadata.json | |
index 7730b90..381aff7 100644 | |
--- a/metadata.json | |
+++ b/metadata.json | |
@@ -27,5 +27,8 @@ | |
"name": "puppet", | |
"version_requirement": ">=4.0.0" | |
} | |
- ] | |
+ ], | |
+ "pdk-version": "1.5.0", | |
+ "template-url": "file:///opt/puppetlabs/pdk/share/cache/pdk-templates.git", | |
+ "template-ref": "1.5.0-0-gd1b3eca" | |
} | |
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb | |
index 67a2559..e117192 100644 | |
--- a/spec/spec_helper.rb | |
+++ b/spec/spec_helper.rb | |
@@ -1,20 +1,36 @@ | |
+ | |
require 'puppetlabs_spec_helper/module_spec_helper' | |
require 'rspec-puppet-facts' | |
+begin | |
+ require 'spec_helper_local' if File.file?(File.join(File.dirname(__FILE__), 'spec_helper_local.rb')) | |
+rescue LoadError => loaderror | |
+ warn "Could not require spec_helper_local: #{loaderror.message}" | |
+end | |
+ | |
include RspecPuppetFacts | |
-require 'simplecov' | |
-require 'coveralls' | |
+default_facts = { | |
+ puppetversion: Puppet.version, | |
+ facterversion: Facter.version, | |
+} | |
+ | |
+default_facts_path = File.expand_path(File.join(File.dirname(__FILE__), 'default_facts.yml')) | |
+default_module_facts_path = File.expand_path(File.join(File.dirname(__FILE__), 'default_module_facts.yml')) | |
+ | |
+if File.exist?(default_facts_path) && File.readable?(default_facts_path) | |
+ default_facts.merge!(YAML.safe_load(File.read(default_facts_path))) | |
+end | |
-SimpleCov.start do | |
- add_filter '/spec' | |
- add_filter '/vendor' | |
- formatter SimpleCov::Formatter::MultiFormatter::new([ | |
- SimpleCov::Formatter::HTMLFormatter, | |
- Coveralls::SimpleCov::Formatter | |
- ]) | |
+if File.exist?(default_module_facts_path) && File.readable?(default_module_facts_path) | |
+ default_facts.merge!(YAML.safe_load(File.read(default_module_facts_path))) | |
end | |
RSpec.configure do |c| | |
- c.hiera_config = File.expand_path(File.join(__FILE__, '../fixtures/hiera.yaml')) | |
+ c.default_facts = default_facts | |
+ c.before :each do | |
+ # set to strictest setting for testing | |
+ # by default Puppet runs at warning level | |
+ Puppet.settings[:strict] = :warning | |
+ end | |
end | |
(END) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment