onceover-codequality 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|