puppet-lint 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +56 -0
- data/lib/puppet-lint.rb +1 -1
- data/lib/puppet-lint/tasks/puppet-lint.rb +25 -0
- data/puppet-lint.gemspec +2 -2
- metadata +5 -5
- data/lib/tasks/puppet-lint.rake +0 -12
data/README.md
CHANGED
@@ -0,0 +1,56 @@
|
|
1
|
+
# Puppet-lint
|
2
|
+
|
3
|
+
The goal of this project is to implement as many of the recommended Puppet
|
4
|
+
style guidelines from the [Puppetlabs style
|
5
|
+
guide](http://docs.puppetlabs.com/guides/style_guide.html).
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
gem install puppet-lint
|
10
|
+
|
11
|
+
## Testing your manifests
|
12
|
+
|
13
|
+
You can test a single manifest file by running
|
14
|
+
|
15
|
+
puppet-lint <path to file>
|
16
|
+
|
17
|
+
If you want to test your entire Puppet manifest directory, you can add
|
18
|
+
`require 'puppet-lint/tasks/puppet-lint'` to your Rakefile and then run
|
19
|
+
|
20
|
+
rake lint
|
21
|
+
|
22
|
+
## Implemented tests
|
23
|
+
|
24
|
+
At the moment, the following tests have been implemented:
|
25
|
+
|
26
|
+
### Spacing, Indentation & Whitespace
|
27
|
+
|
28
|
+
* Must use two-space soft tabs.
|
29
|
+
* Must not use literal tab characters.
|
30
|
+
* Must not contain trailing white space.
|
31
|
+
* Should not exceed an 80 character line width
|
32
|
+
* An exception has been made for `source => 'puppet://...'` lines as
|
33
|
+
splitting these over multiple lines decreases the readability of the
|
34
|
+
manifests.
|
35
|
+
* Should align arrows (`=>`) within blocks of attributes.
|
36
|
+
|
37
|
+
### Quoting
|
38
|
+
|
39
|
+
* All strings that do not contain variables should be enclosed in single
|
40
|
+
quotes.
|
41
|
+
* All strings that contain variables must be enclosed in double quotes.
|
42
|
+
* All variables should be enclosed in braces when interpolated in a string.
|
43
|
+
|
44
|
+
### Resources
|
45
|
+
|
46
|
+
* All resource titles should be quoted.
|
47
|
+
* If a resource declaration includes an `ensure` attribute, it should be the
|
48
|
+
first attribute specified.
|
49
|
+
* File modes should be represented as a 4 digit string enclosed in single
|
50
|
+
quotes.
|
51
|
+
|
52
|
+
## Reporting bugs or incorrect results
|
53
|
+
|
54
|
+
If you find a bug in puppet-lint or its results, please create an issue in the
|
55
|
+
[repo issues tracker](https://github.com/rodjek/puppet-lint/issues/). Bonus
|
56
|
+
points will be awarded if you also include a patch that fixes the issue.
|
data/lib/puppet-lint.rb
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'puppet-lint'
|
2
|
+
require 'rake'
|
3
|
+
require 'rake/tasklib'
|
4
|
+
|
5
|
+
class PuppetLint
|
6
|
+
class RakeTask < ::Rake::TaskLib
|
7
|
+
def initialize(*args)
|
8
|
+
desc 'Run puppet-lint'
|
9
|
+
|
10
|
+
task :lint do
|
11
|
+
RakeFileUtils.send(:verbose, true) do
|
12
|
+
linter = PuppetLint.new
|
13
|
+
Dir.glob('**/*.pp').each do |puppet_file|
|
14
|
+
puts "Evaluating #{puppet_file}"
|
15
|
+
linter.file = puppet_file
|
16
|
+
linter.run
|
17
|
+
end
|
18
|
+
fail if linter.errors?
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
PuppetLint::RakeTask.new
|
data/puppet-lint.gemspec
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'puppet-lint'
|
3
|
-
s.version = '0.0.
|
3
|
+
s.version = '0.0.7'
|
4
4
|
s.homepage = 'https://github.com/rodjek/puppet-lint/'
|
5
5
|
s.summary = 'Ensure your Puppet manifests conform with the Puppetlabs style guide'
|
6
6
|
s.description = 'Checks your Puppet manifests against the Puppetlabs
|
@@ -14,8 +14,8 @@ Gem::Specification.new do |s|
|
|
14
14
|
'lib/puppet-lint/plugins/check_strings.rb',
|
15
15
|
'lib/puppet-lint/plugins/check_whitespace.rb',
|
16
16
|
'lib/puppet-lint/plugins.rb',
|
17
|
+
'lib/puppet-lint/tasks/puppet-lint.rb',
|
17
18
|
'lib/puppet-lint.rb',
|
18
|
-
'lib/tasks/puppet-lint.rake',
|
19
19
|
'LICENSE',
|
20
20
|
'puppet-lint.gemspec',
|
21
21
|
'Rakefile',
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-lint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 7
|
10
|
+
version: 0.0.7
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Tim Sharpe
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-08-
|
18
|
+
date: 2011-08-21 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rspec
|
@@ -48,8 +48,8 @@ files:
|
|
48
48
|
- lib/puppet-lint/plugins/check_strings.rb
|
49
49
|
- lib/puppet-lint/plugins/check_whitespace.rb
|
50
50
|
- lib/puppet-lint/plugins.rb
|
51
|
+
- lib/puppet-lint/tasks/puppet-lint.rb
|
51
52
|
- lib/puppet-lint.rb
|
52
|
-
- lib/tasks/puppet-lint.rake
|
53
53
|
- LICENSE
|
54
54
|
- puppet-lint.gemspec
|
55
55
|
- Rakefile
|
data/lib/tasks/puppet-lint.rake
DELETED