Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PDK validate should have the ability to exclude directories #329

Closed
jacobmw opened this issue Oct 20, 2017 · 26 comments
Closed

PDK validate should have the ability to exclude directories #329

jacobmw opened this issue Oct 20, 2017 · 26 comments

Comments

@jacobmw
Copy link

jacobmw commented Oct 20, 2017

I am using pdk on my control repo and would like the ability to ignore everything under my modules directory and only test my code.
something like:
'pdk validate --exclude modules/'

@DavidS
Copy link
Contributor

DavidS commented Oct 23, 2017

It looks like the validators could use a bit more strict patterns. See e.g.

.

Until this is fixed, you can pdk validate manifests/ lib/ spec/ to only check the files you're interested in.

@cdenneen
Copy link

With the following Rakefile puppet-lint and puppet syntax checks should be excluding certain paths but this isn't working:

PuppetLint.configuration.log_format = '%{path}:%{line}:%{check}:%{KIND}:%{message}'
PuppetLint.configuration.fail_on_warnings = true
PuppetLint.configuration.send('relative')
PuppetLint.configuration.send('disable_140chars')
PuppetLint.configuration.send('disable_class_inherits_from_params_class')
PuppetLint.configuration.send('disable_documentation')
PuppetLint.configuration.send('disable_single_quote_string_with_variables')
PuppetLint.configuration.send('disable_trailing_comma')
PuppetLint.configuration.send('disable_arrow_on_right_operand_line')

exclude_paths = %w(
  pkg/**/*
  vendor/**/*
  .vendor/**/*
  bundle/**/*
  .bundle/**/*
  spec/**/*
)

Rake::Task[:lint].clear

PuppetLint::RakeTask.new :lint do |config|
  # Pattern of files to ignore
  config.ignore_paths = exclude_paths

  # Should puppet-lint prefix it's output with the file being checked,
  # defaults to true
  config.with_filename = false

  # Should the task fail if there were any warnings, defaults to false
  config.fail_on_warnings = true

  # Format string for puppet-lint's output (see the puppet-lint help output
  # for details
  config.log_format = '%{path}:%{line}:%{check}:%{KIND}:%{message}'

  # Print out the context for the problem, defaults to false
  config.with_context = true

  # Enable automatic fixing of problems, defaults to false
  config.fix = false

  # Show ignored problems in the output, defaults to false
  config.show_ignored = true

  # Compare module layout relative to the module root
  config.relative = true
end

PuppetSyntax.exclude_paths = exclude_paths

@jeremy-asher
Copy link

Until this is fixed, you can pdk validate manifests/ lib/ spec/ to only check the files you're interested in.

@DavidS
This type of invocation actually causes problems when the validators each try to find appropriate files in each of the listed paths:

[root@3947da1779e7 test]# pdk validate manifests/ lib/ spec/
pdk (INFO): Running all available validators...
[✔] Checking Puppet manifest syntax (**/**.pp).
[✔] Checking Puppet manifest style (**/*.pp).
[✔] Checking Ruby code style (**/**.rb).
info: metadata-syntax: manifests/: Target does not contain any files to validate (["metadata.json", "tasks/*.json"]).
info: metadata-syntax: spec/: Target does not contain any files to validate (["metadata.json", "tasks/*.json"]).
error: metadata-syntax: lib/: File does not exist.
info: metadata-json-lint: manifests/: Target does not contain any files to validate (metadata.json).
info: metadata-json-lint: spec/: Target does not contain any files to validate (metadata.json).
error: metadata-json-lint: lib/: File does not exist.
info: task-metadata-lint: manifests/: Target does not contain any files to validate (tasks/*.json).
info: task-metadata-lint: spec/: Target does not contain any files to validate (tasks/*.json).
error: task-metadata-lint: lib/: File does not exist.
info: puppet-syntax: spec/: Target does not contain any files to validate (**/**.pp).
error: puppet-syntax: lib/: File does not exist.
info: puppet-lint: spec/: Target does not contain any files to validate (**/*.pp).
error: puppet-lint: lib/: File does not exist.
info: rubocop: manifests/: Target does not contain any files to validate (**/**.rb).
error: rubocop: lib/: File does not exist.

I could run each validator individually, but this means I could no longer use --parallel and it would lead to a pretty brittle CI configuration, needing to track whenever a folder is added or removed. CLI options would be a great start, though I think it would be most convenient if includes/excludes could be controlled by a configuration file of some sort, similar to the way this can be done for Ruby with.rubocop.yml, but for PDK as a whole.

@brwyatt
Copy link

brwyatt commented Nov 5, 2017

There is also a .rubocop.yml that has various excludes that is getting ignored during the Ruby validation, too. This is especially annoying as it is currently including the contents of spec/fixtures, which ends up spitting out a lot of junk if you happen to depend on puppetlabs/apt. The validators shouldn't be passed a list of files (which seems to be the case), but should use their config files (if present). PDK generates a pretty good .rubocop.yml file, it really should use it.

@jeremy-asher
Copy link

@brwyatt good point. I discovered there is a poorly documented rubocop option that could be passed --force-exclusion, though it can't be set in.rubocop.yml:
https://github.com/bbatsov/rubocop/blob/c0ab99934420431a1b2c25c7eac00943d25364cb/lib/rubocop/options.rb#L304

As a workaround for rubocop issues, you should be able to set specific cop exclusions for the affected files in .rubocop.yml. For example:

Metrics/LineLength:
  Exclude: not_my_bad_code/**/*

Normally, you shouldn't have anything in the fixtures folder when validate runs, but an aborted unit test run will skip the cleanup step and leave fixtures sitting around that can get picked up by validate. If you run unit tests again to completion that should be resolved.

@brwyatt
Copy link

brwyatt commented Nov 6, 2017

Odd, the unit tests are running to completion... so maybe there's an additional bug here, as they don't seem to be getting cleaned up after the unit test run (though it does claim to have cleaned up).

Either way, the exclusions should really be working, especially since pdk new module creates a perfectly valid .rubocop.yml with the proper/expected exclusions.

Until then, is there a way to make rubocop run with --force-exclusion from pdk validate or pdk validate ruby?

@jeremy-asher
Copy link

Odd, the unit tests are running to completion... so maybe there's an additional bug here, as they don't seem to be getting cleaned up after the unit test run (though it does claim to have cleaned up).

Not sure what's going on there then. You might want to open a separate issue on that.

Either way, the exclusions should really be working, especially since pdk new module creates a perfectly valid .rubocop.yml with the proper/expected exclusions.

Agreed. My guess is that PDK will ultimately handle all file inclusion / exclusions at some point instead of deferring that responsibility to the individual tools and their separate config files. This will probably be a better story for new users, but it is causing some trouble at the moment. @DavidS do you have anything you can share on the intent here?

Until then, is there a way to make rubocop run with --force-exclusion from pdk validate or pdk validate ruby?

No, that was just a crazy idea I had. PDK doesn't support arbitrary options, but, if you ask me, it sounds like a good flag to tack on if better support for exclusions is going to be hard to add.

@cdenneen
Copy link

cdenneen commented Nov 6, 2017

Adding exclude_paths array should be possible to all rake tasks I would think. So I don’t think passing this to all jobs should be hard.

@DavidS
Copy link
Contributor

DavidS commented Nov 6, 2017

@cdenneen Opened https://tickets.puppetlabs.com/browse/PDK-663 to track adding support for some of the existing configuration patterns.

@jeremy-asher @brwyatt @jacobmw the PDK currently has no provisions for working in a control-repo. Some folks, like https://github.com/example42/psick had some success retrofitting their control-repo to look like a module to the PDK, but that is not what we ultimately want as a workflow.

@jeremy-asher
Copy link

@DavidS
I'm not sure what you mean by control-repo. I am experiencing this issue with a normal Puppet module and would like to use PDK for all of my internal modules individually.

I discovered this issue when I ran pdk validate against a module with a .pp file in its files folder that wasn't a Puppet manifest. PDK enumerated it when running puppet-lint which triggered a validation failure. I still can't come up with a workaround that I like for my purposes.

Do you have any suggestions how the exclusions can be addressed in the PDK codebase? I'd be happy to take a stab at a PR.

@DavidS
Copy link
Contributor

DavidS commented Nov 6, 2017

@jeremy-asher This issue starts with "I am using pdk on my control repo and would like the ability to ignore everything under my modules directory", if you have a different use-case/failure/issue, please open a new one describing your experience.

@jeremy-asher
Copy link

@DavidS ah, sorry. I must be blind. Didn't mean to hijack this issue, but it was related. I can open another more general exclusion issue.

@cdenneen
Copy link

cdenneen commented Nov 6, 2017

@DavidS yeah, while this issue is "control-repo" related I did send the same similar "module" issue to the mailinglist about it happening with non "control-repo" as well. Not sure where that sits but that would be better related to @jeremy-asher issue.

@MikaelSmith
Copy link

This is also painful when trying to add plans to a module, where the validation will need to be slightly different.

@scotje
Copy link
Contributor

scotje commented Nov 1, 2018

#586 should help with plan validation errors.

@rick-bennett
Copy link

Still new to Puppet, but... If I run the following on a 64-bit Windows 10 box (using PDK 1.17.0), this still seems to be an issue:

  1. PDK NEW MODULE
  2. Then, from in the new module: PDK VALIDATE
  3. See results crop up from files within "bin", such as:
    convention: rubocop: bin/metadata-json-lint:11:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.

It seems that PDK VALIDATE is still ignoring the exclusions in the .rubocop.yml file....?

@scotje
Copy link
Contributor

scotje commented Mar 13, 2020

Hmmm, rubocop should only be checking files that end in .rb, so those bin files should be ignored anyway. @glennsarti is this a possible regression from the validator refactoring?

@glennsarti
Copy link
Contributor

I can't seem to replicate this.

  • built a new module
  • Ran pdk validate ruby - No Errors
  • I deliberately create a file in bin/ with bad ruby
  • Ran pdk validate ruby - No Errors
  • Changed directory inside the module (files/)
  • Ran pdk validate ruby - No Errors
  • Edited .rubocop.yml and commented out the line for bin
AllCops:
  DisplayCopNames: true
  TargetRubyVersion: '2.1'
  Include:
  - "./**/*.rb"
  Exclude:
  #- bin/*
  - ".vendor/**/*"
  - "**/Gemfile"
  - "**/Rakefile"
  - pkg/**/*
  - spec/fixtures/**/*
  - vendor/**/*
  - "**/Puppetfile"
  - "**/Vagrantfile"
  - "**/Guardfile"
  • Ran pdk validate ruby - Found errors in the file I created in 'bin/`

@RFBennet Can you verify the contents of your .rubocop.yml file, that it looks the same as above?

@rick-bennett
Copy link

I ran this just now on my Win10 box running PDK 1.17.0:

cd c:\projects
pdk new module test103
(adjusted so was only Windows selected in the build option menu)
cd c:\projects\test103
pdk test unit (so we get some "stuff" inside bin)
pdk validate
(get the gunk in the returned results showing entries from bin)
<AndSoOnAndSoForth>
convention: rubocop: Rakefile:67:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:67:22: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:88:1: Layout/TrailingBlankLines: 1 trailing blank lines detected.
convention: rubocop: bin/metadata-json-lint:11:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:12:5: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:12:44: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:13:3: Layout/AlignParameters: Align the parameters of a method call if they span more than one line.
convention: rubocop: bin/metadata-json-lint:15:35: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:18:40: Style/RegexpLiteral: Use `%r` around regular expression.
convention: rubocop: bin/metadata-json-lint:26:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:27:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:29:19: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:29:41: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet:11:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet:12:5: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
<AndSoOnAndSoForth>

and here's the first portion of the .rubocop.yml file:

---
require:
- rubocop-rspec
- rubocop-i18n
AllCops:
  DisplayCopNames: true
  TargetRubyVersion: '2.1'
  Include:
  - "./**/*.rb"
  Exclude:
  - bin/*
  - ".vendor/**/*"
  - "**/Gemfile"
  - "**/Rakefile"
  - pkg/**/*
  - spec/fixtures/**/*
  - vendor/**/*
  - "**/Puppetfile"
  - "**/Vagrantfile"
  - "**/Guardfile"

And for whatever its worth, I ran the same basic set of commands on a Mac running Catalina OS (and PDK 1.17.0), and didn't see all the gunk from PDK VALIDATE (it was nice and clean as I'd expect). So it looks like this issue could maybe be limited to Windows only....?

@glennsarti
Copy link
Contributor

That's even stranger because I ONLY use Windows... will try your repro instructions again.

@glennsarti
Copy link
Contributor

Hrmm...

C:\Source\tmp\pdk-gh329> pdk new module test103
pdk (INFO): Creating new module: test103

We need to create the metadata.json file for this module, so we're going to ask you 4 questions.
If the question is not applicable to this module, accept the default option shown after each question. You can modify any answers at any time by manually updating the metadata.json file.

[Q 1/4] If you have a Puppet Forge username, add it here.
We can use this to upload your module to the Forge when it's complete.
--> glennsarti                                                                                                             
[Q 2/4] Who wrote this module?
This is used to credit the module's author.
--> glennsarti                                                                                                             
[Q 3/4] What license does this module code fall under?
This should be an identifier from https://spdx.org/licenses/. Common values are "Apache-2.0", "MIT", or "proprietary".
--> Apache-2.0                                                                                                             
[Q 4/4] What operating systems does this module support?
Use the up and down keys to move between the choices, space to select and enter to continue.
--> Windows                                                                                                                                                                                                                                           Metadata will be generated based on this information, continue? Yes                                                        pdk (INFO): Using the default template-url and template-ref.                                                               pdk (INFO): Module 'test103' generated at path 'C:/Source/tmp/pdk-gh329/test103'.                                          pdk (INFO): In your module directory, add classes with the 'pdk new class' command.                                        C:\Source\tmp\pdk-gh329> code .
C:\Source\tmp\pdk-gh329> cd .\test103\
C:\Source\tmp\pdk-gh329\test103> pdk test unit
pdk (INFO): Using Ruby 2.5.7
pdk (INFO): Using Puppet 6.13.0
[*] Preparing to run the unit tests.                                                                                       [DEPRECATION] Struct layout is already defined for class Windows::ServiceStructs::SERVICE_STATUS_PROCESS. Redefinition as in C:/Program Files/Puppet Labs/DevelopmentKit/private/puppet/ruby/2.5.0/gems/win32-service-0.8.8/lib/win32/windows/structs.rb:67:in `<class:SERVICE_STATUS_PROCESS>' will be disallowed in ffi-2.0.
"C:/Program Files/Puppet Labs/DevelopmentKit/private/ruby/2.5.7/bin/ruby.exe" -I'C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rspec-core-3.9.1/lib';'C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rspec-support-3.9.2/lib' 'C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rspec-core-3.9.1/exe/rspec' --pattern 'spec/{aliases,classes,defines,functions,hosts,integration,plans,tasks,type_aliases,types,unit}/**/*_spec.rb' --format progress
No examples found.


Finished in 0.00055 seconds (files took 0.46286 seconds to load)
0 examples, 0 failures

C:\Source\tmp\pdk-gh329\test103> pdk validate
pdk (INFO): Using Ruby 2.5.7
pdk (INFO): Using Puppet 6.13.0
pdk (INFO): Running all available validators...
+ [*] Running metadata validators ...                                                                                      |-- [*] Checking metadata syntax (metadata.json tasks/*.json).                                                             |__ [*] Checking module metadata style (metadata.json).                                                                    + [*] Running puppet validators ...                                                                                        |-- [*] Checking Puppet manifest syntax (**/*.pp).                                                                         |__ [*] Checking Puppet manifest style (**/*.pp).                                                                          + [*] Running ruby validators ...                                                                                          |__ [*] Checking Ruby code style (**/**.rb).                                                                               + [*] Running tasks validators ...                                                                                         |-- [*] Checking task names (tasks/**/*).                                                                                  |__ [*] Checking task metadata style (tasks/*.json).                                                                       + [*] Running yaml validators ...                                                                                          |__ [*] Checking YAML syntax (**/*.yaml **/*.yml).                                                                         info: puppet-epp: ./: Target does not contain any files to validate (["**/*.epp"]).
info: task-metadata-lint: ./: Target does not contain any files to validate (["tasks/*.json"]).
C:\Source\tmp\pdk-gh329\test103> pdk --version
1.17.0
C:\Source\tmp\pdk-gh329\test103>

Do you have a ~\.rubocop.yml file at all?

Ref - https://rubocop.readthedocs.io/en/latest/configuration/#config-file-locations

Also try using pdk bundle exec rubocop --debug

C:\Source\tmp\pdk-gh329\test103> pdk bundle exec rubocop --debug
pdk (INFO): Using Ruby 2.5.7
pdk (INFO): Using Puppet 6.13.0
For C:/Source/tmp/pdk-gh329/test103: configuration from C:/Source/tmp/pdk-gh329/test103/.rubocop.yml
configuration from C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rubocop-rspec-1.16.0/config/default.yml
configuration from C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rubocop-rspec-1.16.0/config/default.yml
Default configuration from C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rubocop-0.49.1/config/default.yml
Inheriting configuration from C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rubocop-0.49.1/config/enabled.yml
Inheriting configuration from C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rubocop-0.49.1/config/disabled.yml
Inspecting 1 file
Scanning C:/Source/tmp/pdk-gh329/test103/spec/spec_helper.rb
.

1 file inspected, no offenses detected
Finished in 2.794252499999857 seconds
C:\Source\tmp\pdk-gh329\test103>

@rick-bennett
Copy link

Yep, I've got the typical .rubocop.yml file in the root of the new project, and didn't see any in other spots that would potentially be impacting this project (only files within the C:\Projects directory are some .PS1 files I was tinkering with, and C:\ just has two .sys files).

Only other thing that may be in play that I can think of offhand is that I'm on an Active Directory bound 64-bit Windows 10 computer. Not sure if a domain account versus a local account could be an issue.

Here is the output from trying things with a brand new module (if you notice in the below contents, my Active Directory home directory is mapped as H:):

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

PS H:\> c:
PS C:\> cd c:\projects
PS C:\projects> pdk new module test104
pdk (INFO): Creating new module: test104

We need to create the metadata.json file for this module, so we're going to ask you 4 questions.
If the question is not applicable to this module, accept the default option shown after each question. You can modify any answers at any time by manually updating the metadata.json file.

[Q 1/4] If you have a Puppet Forge username, add it here.
We can use this to upload your module to the Forge when it's complete.
--> rfbennet

[Q 2/4] Who wrote this module?
This is used to credit the module's author.
--> rfbennet

[Q 3/4] What license does this module code fall under?
This should be an identifier from https://spdx.org/licenses/. Common values are "Apache-2.0", "MIT", or "proprietary".
--> Apache-2.0

[Q 4/4] What operating systems does this module support?
Use the up and down keys to move between the choices, space to select and enter to continue.
--> Windows

Metadata will be generated based on this information, continue? Yes
pdk (INFO): Using the default template-url and template-ref.
pdk (INFO): Module 'test104' generated at path 'C:/projects/test104'.
pdk (INFO): In your module directory, add classes with the 'pdk new class' command.
PS C:\projects> pdk test unit
pdk (INFO): Unit tests can only be run from inside a valid module directory.
PS C:\projects> cd test104
PS C:\projects\test104> pdk test unit
pdk (INFO): Using Ruby 2.5.7
pdk (INFO): Using Puppet 6.13.0
[*] Preparing to run the unit tests.
[DEPRECATION] Struct layout is already defined for class Windows::ServiceStructs::SERVICE_STATUS_PROCESS. Redefinition as in C:/Program Files/Puppet Labs/DevelopmentKit/private/puppet/ruby/2.5.0/gems/win32-service-0.8.8/lib/win32/windows/structs.rb:67:in `<class:SERVICE_STATUS_PROCESS>' will be disallowed in ffi-2.0.
"C:/Program Files/Puppet Labs/DevelopmentKit/private/ruby/2.5.7/bin/ruby.exe" -I'C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rspec-core-3.9.1/lib';'C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rspec-support-3.9.2/lib' 'C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rspec-core-3.9.1/exe/rspec' --pattern 'spec/{aliases,classes,defines,functions,hosts,integration,plans,tasks,type_aliases,types,unit}/**/*_spec.rb' --format progress
No examples found.


Finished in 0.00078 seconds (files took 0.68952 seconds to load)
0 examples, 0 failures

PS C:\projects\test104> pdk validate
pdk (INFO): Using Ruby 2.5.7
pdk (INFO): Using Puppet 6.13.0
pdk (INFO): Running all available validators...
+ [*] Running metadata validators ...
|-- [*] Checking metadata syntax (metadata.json tasks/*.json).
|__ [*] Checking module metadata style (metadata.json).
+ [*] Running puppet validators ...
|-- [*] Checking Puppet manifest syntax (**/*.pp).
|__ [*] Checking Puppet manifest style (**/*.pp).
+ [X] Running ruby validators ...
|__ [X] Checking Ruby code style (**/**.rb).
+ [*] Running tasks validators ...
|-- [*] Checking task names (tasks/**/*).
|__ [*] Checking task metadata style (tasks/*.json).
+ [*] Running yaml validators ...
|__ [*] Checking YAML syntax (**/*.yaml **/*.yml).
info: puppet-epp: ./: Target does not contain any files to validate (["**/*.epp"]).
convention: rubocop: Gemfile:1:1: Style/FileName: The name of this source file (`Gemfile`) should use snake_case.
convention: rubocop: Gemfile:20:7: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Gemfile:21:3: Bundler/DuplicatedGem: Gem `fast_gettext` requirements already given on line 20 of the Gemfile.
convention: rubocop: Gemfile:21:7: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Gemfile:22:7: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Gemfile:23:3: Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem `json` should appear before `json_pure`.
convention: rubocop: Gemfile:23:7: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Gemfile:24:3: Bundler/DuplicatedGem: Gem `json` requirements already given on line 23 of the Gemfile.
convention: rubocop: Gemfile:24:7: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Gemfile:25:3: Bundler/DuplicatedGem: Gem `json` requirements already given on line 23 of the Gemfile.
convention: rubocop: Gemfile:25:7: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Gemfile:26:7: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Gemfile:27:3: Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem `(str "puppet-module-posix-default-r")` should appear before `rb-readline`.
convention: rubocop: Gemfile:69:5: Security/Eval: The use of `eval` is a serious security risk.
convention: rubocop: Rakefile:1:1: Style/FileName: The name of this source file (`Rakefile`) should use snake_case.
convention: rubocop: Rakefile:11:59: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:12:3: Style/VariableName: Use snake_case for variable names.
convention: rubocop: Rakefile:12:27: Security/JSONLoad: Prefer `JSON.parse` over `JSON.load`.
convention: rubocop: Rakefile:13:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:19:59: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:21:3: Style/VariableName: Use snake_case for variable names.
convention: rubocop: Rakefile:22:3: Style/VariableName: Use snake_case for variable names.
convention: rubocop: Rakefile:23:28: Security/JSONLoad: Prefer `JSON.parse` over `JSON.load`.
convention: rubocop: Rakefile:29:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:36:59: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:37:3: Style/VariableName: Use snake_case for variable names.
convention: rubocop: Rakefile:37:15: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:37:28: Security/JSONLoad: Prefer `JSON.parse` over `JSON.load`.
convention: rubocop: Rakefile:38:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:47:158: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:47:170: Style/AndOr: Use `&&` instead of `and`.
convention: rubocop: Rakefile:47:201: Metrics/LineLength: Line is too long. [207/200]
convention: rubocop: Rakefile:48:19: Style/UnneededInterpolation: Prefer `to_s` over string interpolation.
convention: rubocop: Rakefile:49:22: Style/UnneededInterpolation: Prefer `to_s` over string interpolation.
convention: rubocop: Rakefile:50:29: Style/UnneededInterpolation: Prefer `to_s` over string interpolation.
convention: rubocop: Rakefile:52:201: Metrics/LineLength: Line is too long. [255/200]
convention: rubocop: Rakefile:55:27: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:57:7: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:58:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:58:21: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:59:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:59:22: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:61:7: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:62:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:62:21: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:63:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:63:22: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:63:33: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:65:7: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:66:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:66:21: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:67:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:67:22: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: Rakefile:88:1: Layout/TrailingBlankLines: 1 trailing blank lines detected.
convention: rubocop: bin/metadata-json-lint:11:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:12:5: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:12:44: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:13:3: Layout/AlignParameters: Align the parameters of a method call if they span more than one line.
convention: rubocop: bin/metadata-json-lint:15:35: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:18:40: Style/RegexpLiteral: Use `%r` around regular expression.
convention: rubocop: bin/metadata-json-lint:26:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:27:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:29:19: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/metadata-json-lint:29:41: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet:11:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet:12:5: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet:12:44: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet:13:3: Layout/AlignParameters: Align the parameters of a method call if they span more than one line.
convention: rubocop: bin/puppet:15:35: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet:18:40: Style/RegexpLiteral: Use `%r` around regular expression.
convention: rubocop: bin/puppet:26:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet:27:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet:29:19: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet:29:29: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet-lint:11:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet-lint:12:5: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet-lint:12:44: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet-lint:13:3: Layout/AlignParameters: Align the parameters of a method call if they span more than one line.
convention: rubocop: bin/puppet-lint:15:35: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet-lint:18:40: Style/RegexpLiteral: Use `%r` around regular expression.
convention: rubocop: bin/puppet-lint:26:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet-lint:27:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet-lint:29:19: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/puppet-lint:29:34: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rake:11:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rake:12:5: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rake:12:44: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rake:13:3: Layout/AlignParameters: Align the parameters of a method call if they span more than one line.
convention: rubocop: bin/rake:15:35: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rake:18:40: Style/RegexpLiteral: Use `%r` around regular expression.
convention: rubocop: bin/rake:26:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rake:27:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rake:29:19: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rake:29:27: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rspec:11:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rspec:12:5: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rspec:12:44: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rspec:13:3: Layout/AlignParameters: Align the parameters of a method call if they span more than one line.
convention: rubocop: bin/rspec:15:35: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rspec:18:40: Style/RegexpLiteral: Use `%r` around regular expression.
convention: rubocop: bin/rspec:26:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rspec:27:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rspec:29:19: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rspec:29:33: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rubocop:11:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rubocop:12:5: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rubocop:12:44: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rubocop:13:3: Layout/AlignParameters: Align the parameters of a method call if they span more than one line.
convention: rubocop: bin/rubocop:15:35: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rubocop:18:40: Style/RegexpLiteral: Use `%r` around regular expression.
convention: rubocop: bin/rubocop:26:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rubocop:27:9: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rubocop:29:19: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
convention: rubocop: bin/rubocop:29:30: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
info: task-metadata-lint: ./: Target does not contain any files to validate (["tasks/*.json"]).
PS C:\projects\test104> dir


    Directory: C:\projects\test104


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        3/25/2020  11:21 AM                .vscode
d-----        3/25/2020  11:25 AM                bin
d-----        3/25/2020  11:21 AM                data
d-----        3/25/2020  11:21 AM                examples
d-----        3/25/2020  11:21 AM                files
d-----        3/25/2020  11:21 AM                manifests
d-----        3/25/2020  11:22 AM                spec
d-----        3/25/2020  11:21 AM                tasks
d-----        3/25/2020  11:21 AM                templates
-a----        3/25/2020  11:21 AM            223 .fixtures.yml
-a----        3/25/2020  11:21 AM             62 .gitattributes
-a----        3/25/2020  11:21 AM            298 .gitignore
-a----        3/25/2020  11:21 AM           1254 .gitlab-ci.yml
-a----        3/25/2020  11:21 AM            475 .pdkignore
-a----        3/25/2020  11:21 AM             11 .puppet-lint.rc
-a----        3/25/2020  11:21 AM             31 .rspec
-a----        3/25/2020  11:21 AM           3764 .rubocop.yml
-a----        3/25/2020  11:21 AM           1252 .travis.yml
-a----        3/25/2020  11:21 AM             18 .yardopts
-a----        3/25/2020  11:21 AM           1342 appveyor.yml
-a----        3/25/2020  11:21 AM            146 CHANGELOG.md
-a----        3/25/2020  11:21 AM           3504 Gemfile
-a----        3/25/2020  11:22 AM          10753 Gemfile.lock
-a----        3/25/2020  11:21 AM            685 hiera.yaml
-a----        3/25/2020  11:21 AM            541 metadata.json
-a----        3/25/2020  11:21 AM           3605 Rakefile
-a----        3/25/2020  11:21 AM           4101 README.md


PS C:\projects\test104> pdk bundle exec rubocop --debug
pdk (INFO): Using Ruby 2.5.7
pdk (INFO): Using Puppet 6.13.0
`H:/` is not writable.
Bundler will use `C:/Users/rfbennet/AppData/Local/Temp/bundler/home/rfbennet' as your home directory temporarily.
For C:/projects/test104: configuration from C:/projects/test104/.rubocop.yml
configuration from C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rubocop-rspec-1.16.0/config/default.yml
configuration from C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rubocop-rspec-1.16.0/config/default.yml
Default configuration from C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rubocop-0.49.1/config/default.yml
Inheriting configuration from C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rubocop-0.49.1/config/enabled.yml
Inheriting configuration from C:/Program Files/Puppet Labs/DevelopmentKit/share/cache/ruby/2.5.0/gems/rubocop-0.49.1/config/disabled.yml
Inspecting 9 files
Scanning C:/Projects/test104/Gemfile
For C:/Projects/test104: configuration from C:/Projects/test104/.rubocop.yml
CScanning C:/Projects/test104/Rakefile
CScanning C:/Projects/test104/bin/metadata-json-lint
CScanning C:/Projects/test104/bin/puppet
CScanning C:/Projects/test104/bin/puppet-lint
CScanning C:/Projects/test104/bin/rake
CScanning C:/Projects/test104/bin/rspec
CScanning C:/Projects/test104/bin/rubocop
CScanning C:/Projects/test104/spec/spec_helper.rb
.

Offenses:

C:/Projects/test104/Gemfile:1:1: C: Style/FileName: The name of this source file (Gemfile) should use snake_case.
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
^
C:/Projects/test104/Gemfile:20:7: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  gem "fast_gettext", '1.1.0',                                   require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.1.0')
      ^^^^^^^^^^^^^^
C:/Projects/test104/Gemfile:21:3: C: Bundler/DuplicatedGem: Gem fast_gettext requirements already given on line 20 of the Gemfile.
  gem "fast_gettext",                                            require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Gemfile:21:7: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  gem "fast_gettext",                                            require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
      ^^^^^^^^^^^^^^
C:/Projects/test104/Gemfile:22:7: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  gem "json_pure", '<= 2.0.1',                                   require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
      ^^^^^^^^^^^
C:/Projects/test104/Gemfile:23:3: C: Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem json should appear before json_pure.
  gem "json", '= 1.8.1',                                         require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9')
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Gemfile:23:7: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  gem "json", '= 1.8.1',                                         require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9')
      ^^^^^^
C:/Projects/test104/Gemfile:24:3: C: Bundler/DuplicatedGem: Gem json requirements already given on line 23 of the Gemfile.
  gem "json", '= 2.0.4',                                         require: false if Gem::Requirement.create('~> 2.4.2').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Gemfile:24:7: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  gem "json", '= 2.0.4',                                         require: false if Gem::Requirement.create('~> 2.4.2').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
      ^^^^^^
C:/Projects/test104/Gemfile:25:3: C: Bundler/DuplicatedGem: Gem json requirements already given on line 23 of the Gemfile.
  gem "json", '= 2.1.0',                                         require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Gemfile:25:7: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  gem "json", '= 2.1.0',                                         require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
      ^^^^^^
C:/Projects/test104/Gemfile:26:7: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  gem "rb-readline", '= 0.5.5',                                  require: false, platforms: [:mswin, :mingw, :x64_mingw]      ^^^^^^^^^^^^^
C:/Projects/test104/Gemfile:27:3: C: Bundler/OrderedGems: Gems should be sorted in an alphabetical order within their section of the Gemfile. Gem (str "puppet-module-posix-default-r") should appear before rb-readline.
  gem "puppet-module-posix-default-r#{minor_version}", '~> 0.4', require: false, platforms: [:ruby]
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Gemfile:69:5: C: Security/Eval: The use of eval is a serious security risk.
    eval(File.read(gemfile), binding)
    ^^^^
C:/Projects/test104/Rakefile:1:1: C: Style/FileName: The name of this source file (Rakefile) should use snake_case.
# frozen_string_literal: true
^
C:/Projects/test104/Rakefile:11:59: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  return unless Rake.application.top_level_tasks.include? "changelog"
                                                          ^^^^^^^^^^^
C:/Projects/test104/Rakefile:12:3: C: Style/VariableName: Use snake_case for variable names.
  returnVal = nil || JSON.load(File.read('metadata.json'))['author']
  ^^^^^^^^^
C:/Projects/test104/Rakefile:12:27: C: Security/JSONLoad: Prefer JSON.parse over JSON.load.
  returnVal = nil || JSON.load(File.read('metadata.json'))['author']
                          ^^^^
C:/Projects/test104/Rakefile:13:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  raise "unable to find the changelog_user in .sync.yml, or the author in metadata.json" if returnVal.nil?
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Rakefile:19:59: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  return unless Rake.application.top_level_tasks.include? "changelog"
                                                          ^^^^^^^^^^^
C:/Projects/test104/Rakefile:21:3: C: Style/VariableName: Use snake_case for variable names.
  returnVal = nil
  ^^^^^^^^^
C:/Projects/test104/Rakefile:22:3: C: Style/VariableName: Use snake_case for variable names.
  returnVal ||= begin
  ^^^^^^^^^
C:/Projects/test104/Rakefile:23:28: C: Security/JSONLoad: Prefer JSON.parse over JSON.load.
    metadata_source = JSON.load(File.read('metadata.json'))['source']
                           ^^^^
C:/Projects/test104/Rakefile:29:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  raise "unable to find the changelog_project in .sync.yml or calculate it from the source in metadata.json" if returnVal.nil?
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Rakefile:36:59: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  return unless Rake.application.top_level_tasks.include? "changelog"
                                                          ^^^^^^^^^^^
C:/Projects/test104/Rakefile:37:3: C: Style/VariableName: Use snake_case for variable names.
  returnVal = "v%s" % JSON.load(File.read('metadata.json'))['version']
  ^^^^^^^^^
C:/Projects/test104/Rakefile:37:15: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  returnVal = "v%s" % JSON.load(File.read('metadata.json'))['version']
              ^^^^^
C:/Projects/test104/Rakefile:37:28: C: Security/JSONLoad: Prefer JSON.parse over JSON.load.
  returnVal = "v%s" % JSON.load(File.read('metadata.json'))['version']
                           ^^^^
C:/Projects/test104/Rakefile:38:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
  raise "unable to find the future_release (version) in metadata.json" if returnVal.nil?
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Rakefile:47:158: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
    raise "Set CHANGELOG_GITHUB_TOKEN environment variable eg 'export CHANGELOG_GITHUB_TOKEN=valid_token_here'" if Rake.application.top_level_tasks.include? "changelog" and ENV['CHANGELOG_GITHUB_TOKEN'].nil?
                                                                                                                                                             ^^^^^^^^^^^
C:/Projects/test104/Rakefile:47:170: C: Style/AndOr: Use && instead of and.
    raise "Set CHANGELOG_GITHUB_TOKEN environment variable eg 'export CHANGELOG_GITHUB_TOKEN=valid_token_here'" if Rake.application.top_level_tasks.include? "changelog" and ENV['CHANGELOG_GITHUB_TOKEN'].nil?
                                                                                                                                                                         ^^^
C:/Projects/test104/Rakefile:47:201: C: Metrics/LineLength: Line is too long. [207/200]
    raise "Set CHANGELOG_GITHUB_TOKEN environment variable eg 'export CHANGELOG_GITHUB_TOKEN=valid_token_here'" if Rake.application.top_level_tasks.include? "changelog" and ENV['CHANGELOG_GITHUB_TOKEN'].nil?
                                                                                                                                                                                                        ^^^^^^^
C:/Projects/test104/Rakefile:48:19: C: Style/UnneededInterpolation: Prefer to_s over string interpolation.
    config.user = "#{changelog_user}"
                  ^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Rakefile:49:22: C: Style/UnneededInterpolation: Prefer to_s over string interpolation.
    config.project = "#{changelog_project}"
                     ^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Rakefile:50:29: C: Style/UnneededInterpolation: Prefer to_s over string interpolation.
    config.future_release = "#{changelog_future_release}"
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Rakefile:52:201: C: Metrics/LineLength: Line is too long. [255/200]
    config.header = "# Change log\n\nAll notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org)."
                                                                                                                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Rakefile:55:27: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
    config.merge_prefix = "### UNCATEGORIZED PRS; GO LABEL THEM"
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Rakefile:57:7: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
      "Changed" => {
      ^^^^^^^^^
C:/Projects/test104/Rakefile:58:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "prefix" => "### Changed",
        ^^^^^^^^
C:/Projects/test104/Rakefile:58:21: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "prefix" => "### Changed",
                    ^^^^^^^^^^^^^
C:/Projects/test104/Rakefile:59:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "labels" => ["backwards-incompatible"],
        ^^^^^^^^
C:/Projects/test104/Rakefile:59:22: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "labels" => ["backwards-incompatible"],
                     ^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/Rakefile:61:7: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
      "Added" => {
      ^^^^^^^
C:/Projects/test104/Rakefile:62:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "prefix" => "### Added",
        ^^^^^^^^
C:/Projects/test104/Rakefile:62:21: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "prefix" => "### Added",
                    ^^^^^^^^^^^
C:/Projects/test104/Rakefile:63:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "labels" => ["feature", "enhancement"],
        ^^^^^^^^
C:/Projects/test104/Rakefile:63:22: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "labels" => ["feature", "enhancement"],
                     ^^^^^^^^^
C:/Projects/test104/Rakefile:63:33: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "labels" => ["feature", "enhancement"],
                                ^^^^^^^^^^^^^
C:/Projects/test104/Rakefile:65:7: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
      "Fixed" => {
      ^^^^^^^
C:/Projects/test104/Rakefile:66:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "prefix" => "### Fixed",
        ^^^^^^^^
C:/Projects/test104/Rakefile:66:21: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "prefix" => "### Fixed",
                    ^^^^^^^^^^^
C:/Projects/test104/Rakefile:67:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "labels" => ["bugfix"],
        ^^^^^^^^
C:/Projects/test104/Rakefile:67:22: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
        "labels" => ["bugfix"],
                     ^^^^^^^^
C:/Projects/test104/Rakefile:88:1: C: Layout/TrailingBlankLines: 1 trailing blank lines detected.
C:/Projects/test104/bin/metadata-json-lint:11:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "pathname"
        ^^^^^^^^^^
C:/Projects/test104/bin/metadata-json-lint:12:5: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
    ^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/metadata-json-lint:12:44: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
                                           ^^^^^^^^^^^^^^^
C:/Projects/test104/bin/metadata-json-lint:13:3: C: Layout/AlignParameters: Align the parameters of a method call if they span more than one line.
  Pathname.new(__FILE__).realpath)
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/metadata-json-lint:15:35: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
bundle_binstub = File.expand_path("../bundle", __FILE__)
                                  ^^^^^^^^^^^
C:/Projects/test104/bin/metadata-json-lint:18:40: C: Style/RegexpLiteral: Use %r around regular expression.
  if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/metadata-json-lint:26:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "rubygems"
        ^^^^^^^^^^
C:/Projects/test104/bin/metadata-json-lint:27:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "bundler/setup"
        ^^^^^^^^^^^^^^^
C:/Projects/test104/bin/metadata-json-lint:29:19: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
load Gem.bin_path("metadata-json-lint", "metadata-json-lint")
                  ^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/metadata-json-lint:29:41: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
load Gem.bin_path("metadata-json-lint", "metadata-json-lint")
                                        ^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/puppet:11:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "pathname"
        ^^^^^^^^^^
C:/Projects/test104/bin/puppet:12:5: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
    ^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/puppet:12:44: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
                                           ^^^^^^^^^^^^^^^
C:/Projects/test104/bin/puppet:13:3: C: Layout/AlignParameters: Align the parameters of a method call if they span more than one line.
  Pathname.new(__FILE__).realpath)
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/puppet:15:35: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
bundle_binstub = File.expand_path("../bundle", __FILE__)
                                  ^^^^^^^^^^^
C:/Projects/test104/bin/puppet:18:40: C: Style/RegexpLiteral: Use %r around regular expression.
  if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/puppet:26:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "rubygems"
        ^^^^^^^^^^
C:/Projects/test104/bin/puppet:27:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "bundler/setup"
        ^^^^^^^^^^^^^^^
C:/Projects/test104/bin/puppet:29:19: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
load Gem.bin_path("puppet", "puppet")
                  ^^^^^^^^
C:/Projects/test104/bin/puppet:29:29: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
load Gem.bin_path("puppet", "puppet")
                            ^^^^^^^^
C:/Projects/test104/bin/puppet-lint:11:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "pathname"
        ^^^^^^^^^^
C:/Projects/test104/bin/puppet-lint:12:5: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
    ^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/puppet-lint:12:44: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
                                           ^^^^^^^^^^^^^^^
C:/Projects/test104/bin/puppet-lint:13:3: C: Layout/AlignParameters: Align the parameters of a method call if they span more than one line.
  Pathname.new(__FILE__).realpath)
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/puppet-lint:15:35: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
bundle_binstub = File.expand_path("../bundle", __FILE__)
                                  ^^^^^^^^^^^
C:/Projects/test104/bin/puppet-lint:18:40: C: Style/RegexpLiteral: Use %r around regular expression.
  if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/puppet-lint:26:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "rubygems"
        ^^^^^^^^^^
C:/Projects/test104/bin/puppet-lint:27:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "bundler/setup"
        ^^^^^^^^^^^^^^^
C:/Projects/test104/bin/puppet-lint:29:19: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
load Gem.bin_path("puppet-lint", "puppet-lint")
                  ^^^^^^^^^^^^^
C:/Projects/test104/bin/puppet-lint:29:34: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
load Gem.bin_path("puppet-lint", "puppet-lint")
                                 ^^^^^^^^^^^^^
C:/Projects/test104/bin/rake:11:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "pathname"
        ^^^^^^^^^^
C:/Projects/test104/bin/rake:12:5: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
    ^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rake:12:44: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
                                           ^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rake:13:3: C: Layout/AlignParameters: Align the parameters of a method call if they span more than one line.
  Pathname.new(__FILE__).realpath)
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rake:15:35: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
bundle_binstub = File.expand_path("../bundle", __FILE__)
                                  ^^^^^^^^^^^
C:/Projects/test104/bin/rake:18:40: C: Style/RegexpLiteral: Use %r around regular expression.
  if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rake:26:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "rubygems"
        ^^^^^^^^^^
C:/Projects/test104/bin/rake:27:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "bundler/setup"
        ^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rake:29:19: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
load Gem.bin_path("rake", "rake")
                  ^^^^^^
C:/Projects/test104/bin/rake:29:27: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
load Gem.bin_path("rake", "rake")
                          ^^^^^^
C:/Projects/test104/bin/rspec:11:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "pathname"
        ^^^^^^^^^^
C:/Projects/test104/bin/rspec:12:5: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
    ^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rspec:12:44: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
                                           ^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rspec:13:3: C: Layout/AlignParameters: Align the parameters of a method call if they span more than one line.
  Pathname.new(__FILE__).realpath)
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rspec:15:35: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
bundle_binstub = File.expand_path("../bundle", __FILE__)
                                  ^^^^^^^^^^^
C:/Projects/test104/bin/rspec:18:40: C: Style/RegexpLiteral: Use %r around regular expression.
  if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rspec:26:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "rubygems"
        ^^^^^^^^^^
C:/Projects/test104/bin/rspec:27:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "bundler/setup"
        ^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rspec:29:19: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
load Gem.bin_path("rspec-core", "rspec")
                  ^^^^^^^^^^^^
C:/Projects/test104/bin/rspec:29:33: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
load Gem.bin_path("rspec-core", "rspec")
                                ^^^^^^^
C:/Projects/test104/bin/rubocop:11:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "pathname"
        ^^^^^^^^^^
C:/Projects/test104/bin/rubocop:12:5: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
    ^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rubocop:12:44: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
                                           ^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rubocop:13:3: C: Layout/AlignParameters: Align the parameters of a method call if they span more than one line.
  Pathname.new(__FILE__).realpath)
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rubocop:15:35: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
bundle_binstub = File.expand_path("../bundle", __FILE__)
                                  ^^^^^^^^^^^
C:/Projects/test104/bin/rubocop:18:40: C: Style/RegexpLiteral: Use %r around regular expression.
  if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/
                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rubocop:26:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "rubygems"
        ^^^^^^^^^^
C:/Projects/test104/bin/rubocop:27:9: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
require "bundler/setup"
        ^^^^^^^^^^^^^^^
C:/Projects/test104/bin/rubocop:29:19: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
load Gem.bin_path("rubocop", "rubocop")
                  ^^^^^^^^^
C:/Projects/test104/bin/rubocop:29:30: C: Style/StringLiterals: Prefer single-quoted strings when you don't need string interpolation or special symbols.
load Gem.bin_path("rubocop", "rubocop")
                             ^^^^^^^^^

9 files inspected, 114 offenses detected
Finished in 20.429729199997382 seconds

@glennsarti
Copy link
Contributor

Oh interesting. Thanks for that @RFBennet

@sanfrancrisko
Copy link
Contributor

I've started a discussion here for any interested parties wanting to define how we go about implementing a global include/exclude list for all validators in the PDK: #1066

@sanfrancrisko
Copy link
Contributor

@RFBennet I could not reproduce the issue you were seeing with PDK 2.1 on a Windows host following the steps you provided. Can I confirm if you're still seeing this issue?

@sanfrancrisko sanfrancrisko removed the JIRA JIRA Ticket Created label Apr 14, 2021
@sanfrancrisko
Copy link
Contributor

As mentioned above the conversation around include/exclude functionality has been moved to #1066 .

I'm going to close this issue, but @RFBennet , please do raise another issue if you're still encountering issues and we'll try to get to the bottom of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests