onceover-codequality 0.2.0 → 0.3.0
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.
- checksums.yaml +5 -5
- data/README.md +8 -10
- data/lib/onceover/codequality/cli.rb +19 -6
- data/lib/onceover/codequality/docs.rb +3 -2
- data/lib/onceover/codequality/puppetfile.rb +21 -0
- data/lib/onceover/codequality/version.rb +1 -1
- data/onceover-codequality.gemspec +1 -1
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 05b4b045d5c1f2c0629b1491cbb69b297e0cf81febbc48e9ea0f0a3257f94ca5
|
4
|
+
data.tar.gz: d185ea9bdb68f25b039c0fa075029af670e74b53269d44618b14bdca75e60b54
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ffca9f5955db6be466d3d62400c07123bf00c07f05685263abd3f269604f872ab83907a22dac60f87a0c24f12ccfb6ff9571d83d7b60f2e5295a095b1c891390
|
7
|
+
data.tar.gz: d282f5b85bb63312bd89747f3c1c64a317830405b368c3faf44057f18c137d01ba3c7bbce444db34dc56051942eb160e239d71b784f6f7ad284a5ee145ed2d5c
|
data/README.md
CHANGED
@@ -39,12 +39,18 @@ $ onceover run codequality
|
|
39
39
|
$onceover run codequality --no_lint
|
40
40
|
```
|
41
41
|
|
42
|
-
**Skip syntax check**
|
42
|
+
**Skip Puppet syntax check**
|
43
43
|
|
44
44
|
```shell
|
45
45
|
$ onceover run codequality --no_syntax
|
46
46
|
```
|
47
47
|
|
48
|
+
**Skip Puppetfile syntax check**
|
49
|
+
|
50
|
+
```shell
|
51
|
+
$ onceover run codequality --no_puppetfile
|
52
|
+
```
|
53
|
+
|
48
54
|
**Skip documentation generation**
|
49
55
|
|
50
56
|
```shell
|
@@ -114,15 +120,7 @@ $ bundle exec onceover run codequality
|
|
114
120
|
* [puppet-lint](https://github.com/rodjek/puppet-lint)
|
115
121
|
* [puppet-syntax](https://github.com/voxpupuli/puppet-syntax)
|
116
122
|
* [puppet-strings](https://github.com/puppetlabs/puppet-strings/)
|
117
|
-
|
118
|
-
|
119
|
-
**My docs change a ton of files every time I run?**
|
120
|
-
This is because the timestamp is embedded inside the generated docs by default. This is fixed in the master branch of Puppet Strings which has not been released as a gem yet. You can reference the fixed version in your control repository Gemfile, like this:
|
121
|
-
|
122
|
-
```ruby
|
123
|
-
gem 'puppet-strings',
|
124
|
-
:git => 'https://github.com/puppetlabs/puppet-strings'
|
125
|
-
```
|
123
|
+
* [r10k](https://github.com/puppetlabs/r10k/)
|
126
124
|
|
127
125
|
## Development
|
128
126
|
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require "onceover/codequality/lint"
|
2
2
|
require "onceover/codequality/syntax"
|
3
3
|
require "onceover/codequality/docs"
|
4
|
+
require "onceover/codequality/puppetfile"
|
4
5
|
class Onceover
|
5
6
|
module CodeQuality
|
6
7
|
class CLI
|
@@ -8,20 +9,24 @@ class Onceover
|
|
8
9
|
def self.command
|
9
10
|
@cmd ||= Cri::Command.define do
|
10
11
|
name 'codequality'
|
11
|
-
usage 'codequality [--no-syntax] [--no-lint] [--no-docs]'
|
12
|
+
usage 'codequality [--no-syntax] [--no-lint] [--no-docs] [--html-docs] [--no-puppetfile]'
|
12
13
|
summary "Code Quality checking for onceover"
|
13
14
|
description <<-DESCRIPTION
|
14
|
-
Check files in your Control Repository for Lint and Syntax errors
|
15
|
+
Check files in your Control Repository for Lint and Syntax errors
|
15
16
|
DESCRIPTION
|
16
17
|
|
17
|
-
option :
|
18
|
-
option :
|
19
|
-
option :
|
18
|
+
option :no_lint, 'Do not check for lint errors', :argument => :optional
|
19
|
+
option :no_puppetfile, 'Do not check Puppetfile for syntax errors', :argument => :optional
|
20
|
+
option :no_syntax, 'Do not check for syntax errors', :argument => :optional
|
21
|
+
option :no_docs, 'Do not generate documentation (puppet-strings) for local modules', :argument => :optional
|
22
|
+
option :html_docs, 'Generate docs in HTML format instead of markdown', :argument => :optional
|
20
23
|
|
21
24
|
run do |opts, args, cmd|
|
22
25
|
no_lint = opts[:no_lint] || false
|
23
26
|
no_syntax = opts[:no_syntax] || false
|
24
27
|
no_docs = opts[:no_docs] || false
|
28
|
+
no_puppetfile = opts[:no_puppetfile] || false
|
29
|
+
html_docs = opts[:html_docs] || false
|
25
30
|
status = true
|
26
31
|
if ! no_lint
|
27
32
|
logger.info "Checking for lint..."
|
@@ -31,6 +36,14 @@ Check files in your Control Repository for Lint and Syntax errors
|
|
31
36
|
end
|
32
37
|
end
|
33
38
|
|
39
|
+
if ! no_puppetfile
|
40
|
+
logger.info "Checking Puppetfile"
|
41
|
+
if ! Onceover::CodeQuality::Puppetfile.puppetfile
|
42
|
+
status = false
|
43
|
+
logger.error "puppetfile syntax failed, see previous errors"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
34
47
|
if ! no_syntax
|
35
48
|
logger.info "Checking syntax..."
|
36
49
|
if ! Onceover::CodeQuality::Syntax.puppet
|
@@ -41,7 +54,7 @@ Check files in your Control Repository for Lint and Syntax errors
|
|
41
54
|
|
42
55
|
if ! no_docs
|
43
56
|
logger.info "Generating documentation..."
|
44
|
-
if ! Onceover::CodeQuality::Docs.puppet_strings
|
57
|
+
if ! Onceover::CodeQuality::Docs.puppet_strings(html_docs)
|
45
58
|
status = false
|
46
59
|
logger.error "Documentation generation failed, see previous errors"
|
47
60
|
end
|
@@ -5,12 +5,13 @@ class Onceover
|
|
5
5
|
module Docs
|
6
6
|
LOCAL_MOD_DIR = "site"
|
7
7
|
|
8
|
-
def self.puppet_strings
|
8
|
+
def self.puppet_strings(html_docs)
|
9
9
|
status = true
|
10
|
+
format = html_docs ? "html" : "markdown"
|
10
11
|
if Dir.exist?(LOCAL_MOD_DIR)
|
11
12
|
Dir.glob("#{LOCAL_MOD_DIR}/*/") { |dir|
|
12
13
|
Dir.chdir(dir) {
|
13
|
-
status &= system("puppet strings")
|
14
|
+
status &= system("puppet strings generate --format #{format}")
|
14
15
|
}
|
15
16
|
}
|
16
17
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Support for checking syntax of Puppetfile
|
2
|
+
class Onceover
|
3
|
+
module CodeQuality
|
4
|
+
module Puppetfile
|
5
|
+
|
6
|
+
def self.puppetfile
|
7
|
+
if File.exists? "Puppetfile"
|
8
|
+
status = system("bundle exec r10k puppetfile check")
|
9
|
+
else
|
10
|
+
puts "No Puppetfile found!"
|
11
|
+
status = false
|
12
|
+
end
|
13
|
+
|
14
|
+
status
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
|
@@ -27,5 +27,5 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.add_runtime_dependency 'onceover', '~> 3'
|
28
28
|
spec.add_runtime_dependency 'puppet-syntax', '~> 2'
|
29
29
|
spec.add_runtime_dependency 'puppet-lint', '~> 2'
|
30
|
-
spec.add_runtime_dependency 'puppet-strings', '~>
|
30
|
+
spec.add_runtime_dependency 'puppet-strings', '~> 2'
|
31
31
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: onceover-codequality
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Declarative Systems
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-08-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -100,14 +100,14 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
103
|
+
version: '2'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
110
|
+
version: '2'
|
111
111
|
description:
|
112
112
|
email:
|
113
113
|
- sales@declarativesystems.com
|
@@ -128,6 +128,7 @@ files:
|
|
128
128
|
- lib/onceover/codequality/cli.rb
|
129
129
|
- lib/onceover/codequality/docs.rb
|
130
130
|
- lib/onceover/codequality/lint.rb
|
131
|
+
- lib/onceover/codequality/puppetfile.rb
|
131
132
|
- lib/onceover/codequality/syntax.rb
|
132
133
|
- lib/onceover/codequality/version.rb
|
133
134
|
- onceover-codequality.gemspec
|
@@ -151,7 +152,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
151
152
|
version: '0'
|
152
153
|
requirements: []
|
153
154
|
rubyforge_project:
|
154
|
-
rubygems_version: 2.
|
155
|
+
rubygems_version: 2.7.6
|
155
156
|
signing_key:
|
156
157
|
specification_version: 4
|
157
158
|
summary: Lint and syntax validation for onceover
|