onceover-codequality 0.5.2 → 0.8.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 +4 -4
- data/.gitignore +4 -2
- data/Gemfile.lock +154 -0
- data/lib/onceover/codequality.rb +0 -1
- data/lib/onceover/codequality/cli.rb +7 -2
- data/lib/onceover/codequality/docs.rb +15 -15
- data/lib/onceover/codequality/environment.rb +34 -0
- data/lib/onceover/codequality/executor.rb +14 -0
- data/lib/onceover/codequality/formatter.rb +28 -0
- data/lib/onceover/codequality/lint.rb +13 -9
- data/lib/onceover/codequality/puppetfile.rb +4 -8
- data/lib/onceover/codequality/syntax.rb +9 -20
- data/lib/onceover/codequality/version.rb +1 -1
- data/onceover-codequality.gemspec +3 -3
- data/res/validate_yaml.py +2 -2
- metadata +12 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c942e82eac32f3f3c723d0ed967fab3744b69bacd15a9dc79dad592ecccdeb9e
|
|
4
|
+
data.tar.gz: 5eb8ae6bb4b184eb7f5ac0244785f2fac2116f3891cfd0439abafc7e4fb1e61f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dd9b554d0958919559c5eabf71d5ee50c7803aeaee7dc3374f07ab00deabbe0e0202a55b7dc4c981a71466bd92f8d474cdfd480023adbadf75485e426c2767d8
|
|
7
|
+
data.tar.gz: 2ff44b19c6783658a3871665de84b0108dc4f69bcb91487d508387b762a1975295083fff8608892905c8c90f226b2ec378b3b36122e2a0d1012b8eaffde5c27b
|
data/.gitignore
CHANGED
data/Gemfile.lock
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
PATH
|
|
2
|
+
remote: .
|
|
3
|
+
specs:
|
|
4
|
+
onceover-codequality (0.8.0)
|
|
5
|
+
onceover (~> 3)
|
|
6
|
+
puppet-lint (~> 2)
|
|
7
|
+
puppet-strings (~> 2)
|
|
8
|
+
puppet-syntax (~> 3)
|
|
9
|
+
|
|
10
|
+
GEM
|
|
11
|
+
remote: https://rubygems.org/
|
|
12
|
+
specs:
|
|
13
|
+
backticks (1.0.2)
|
|
14
|
+
blockenspiel (0.5.0)
|
|
15
|
+
colored (1.2)
|
|
16
|
+
colored2 (3.1.2)
|
|
17
|
+
concurrent-ruby (1.1.8)
|
|
18
|
+
cri (2.15.11)
|
|
19
|
+
deep_merge (1.2.1)
|
|
20
|
+
diff-lcs (1.3)
|
|
21
|
+
facter (4.0.51)
|
|
22
|
+
hocon (~> 1.3)
|
|
23
|
+
thor (>= 1.0.1, < 2.0)
|
|
24
|
+
faraday (0.17.4)
|
|
25
|
+
multipart-post (>= 1.2, < 3)
|
|
26
|
+
faraday_middleware (0.14.0)
|
|
27
|
+
faraday (>= 0.7.4, < 1.0)
|
|
28
|
+
fast_gettext (1.1.2)
|
|
29
|
+
gettext (3.2.9)
|
|
30
|
+
locale (>= 2.0.5)
|
|
31
|
+
text (>= 1.3.0)
|
|
32
|
+
gettext-setup (0.34)
|
|
33
|
+
fast_gettext (~> 1.1.0)
|
|
34
|
+
gettext (>= 3.0.2, < 3.3.0)
|
|
35
|
+
locale
|
|
36
|
+
git (1.8.1)
|
|
37
|
+
rchardet (~> 1.8)
|
|
38
|
+
hiera (3.6.0)
|
|
39
|
+
hocon (1.3.1)
|
|
40
|
+
little-plugger (1.1.4)
|
|
41
|
+
locale (2.1.3)
|
|
42
|
+
log4r (1.1.10)
|
|
43
|
+
logging (2.3.0)
|
|
44
|
+
little-plugger (~> 1.1)
|
|
45
|
+
multi_json (~> 1.14)
|
|
46
|
+
minitar (0.9)
|
|
47
|
+
mocha (1.12.0)
|
|
48
|
+
multi_json (1.15.0)
|
|
49
|
+
multipart-post (2.1.1)
|
|
50
|
+
onceover (3.19.1)
|
|
51
|
+
backticks (>= 1.0.2)
|
|
52
|
+
colored (~> 1.2)
|
|
53
|
+
cri (>= 2.6)
|
|
54
|
+
deep_merge (>= 1.0.0)
|
|
55
|
+
git
|
|
56
|
+
logging (>= 2.0.0)
|
|
57
|
+
multi_json (~> 1.10)
|
|
58
|
+
parallel_tests (>= 2.0.0)
|
|
59
|
+
puppet (>= 4.0)
|
|
60
|
+
puppetlabs_spec_helper (>= 0.4.0)
|
|
61
|
+
r10k (>= 2.1.0)
|
|
62
|
+
rake (>= 10.0.0)
|
|
63
|
+
rspec (>= 3.0.0)
|
|
64
|
+
rspec-puppet (>= 2.4.0)
|
|
65
|
+
rspec_junit_formatter (>= 0.2.0)
|
|
66
|
+
terminal-table (>= 1.8.0)
|
|
67
|
+
versionomy (>= 0.5.0)
|
|
68
|
+
parallel (1.20.1)
|
|
69
|
+
parallel_tests (3.4.0)
|
|
70
|
+
parallel
|
|
71
|
+
pathspec (0.2.1)
|
|
72
|
+
puppet (7.4.0)
|
|
73
|
+
concurrent-ruby (~> 1.0)
|
|
74
|
+
deep_merge (~> 1.0)
|
|
75
|
+
facter (> 2.0.1, < 5)
|
|
76
|
+
fast_gettext (~> 1.1)
|
|
77
|
+
hiera (>= 3.2.1, < 4)
|
|
78
|
+
locale (~> 2.1)
|
|
79
|
+
multi_json (~> 1.10)
|
|
80
|
+
puppet-resource_api (~> 1.5)
|
|
81
|
+
scanf (~> 1.0)
|
|
82
|
+
semantic_puppet (~> 1.0)
|
|
83
|
+
puppet-lint (2.4.2)
|
|
84
|
+
puppet-resource_api (1.8.13)
|
|
85
|
+
hocon (>= 1.0)
|
|
86
|
+
puppet-strings (2.6.0)
|
|
87
|
+
rgen
|
|
88
|
+
yard (~> 0.9.5)
|
|
89
|
+
puppet-syntax (3.1.0)
|
|
90
|
+
puppet (>= 5)
|
|
91
|
+
rake
|
|
92
|
+
puppet_forge (2.3.4)
|
|
93
|
+
faraday (>= 0.9.0, < 0.18.0, != 0.13.1)
|
|
94
|
+
faraday_middleware (>= 0.9.0, < 0.15.0)
|
|
95
|
+
gettext-setup (~> 0.11)
|
|
96
|
+
minitar
|
|
97
|
+
semantic_puppet (~> 1.0)
|
|
98
|
+
puppetlabs_spec_helper (3.0.0)
|
|
99
|
+
mocha (~> 1.0)
|
|
100
|
+
pathspec (>= 0.2.1, < 1.1.0)
|
|
101
|
+
puppet-lint (~> 2.0)
|
|
102
|
+
puppet-syntax (>= 2.0, < 4)
|
|
103
|
+
rspec-puppet (~> 2.0)
|
|
104
|
+
r10k (3.7.0)
|
|
105
|
+
colored2 (= 3.1.2)
|
|
106
|
+
cri (>= 2.15.10, < 3.0.0)
|
|
107
|
+
fast_gettext (~> 1.1.0)
|
|
108
|
+
gettext (>= 3.0.2, < 3.3.0)
|
|
109
|
+
gettext-setup (~> 0.24)
|
|
110
|
+
log4r (= 1.1.10)
|
|
111
|
+
multi_json (~> 1.10)
|
|
112
|
+
puppet_forge (~> 2.3.0)
|
|
113
|
+
rake (13.0.1)
|
|
114
|
+
rchardet (1.8.0)
|
|
115
|
+
rgen (0.8.2)
|
|
116
|
+
rspec (3.8.0)
|
|
117
|
+
rspec-core (~> 3.8.0)
|
|
118
|
+
rspec-expectations (~> 3.8.0)
|
|
119
|
+
rspec-mocks (~> 3.8.0)
|
|
120
|
+
rspec-core (3.8.1)
|
|
121
|
+
rspec-support (~> 3.8.0)
|
|
122
|
+
rspec-expectations (3.8.4)
|
|
123
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
124
|
+
rspec-support (~> 3.8.0)
|
|
125
|
+
rspec-mocks (3.8.1)
|
|
126
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
|
127
|
+
rspec-support (~> 3.8.0)
|
|
128
|
+
rspec-puppet (2.8.0)
|
|
129
|
+
rspec
|
|
130
|
+
rspec-support (3.8.2)
|
|
131
|
+
rspec_junit_formatter (0.4.1)
|
|
132
|
+
rspec-core (>= 2, < 4, != 2.12.0)
|
|
133
|
+
scanf (1.0.0)
|
|
134
|
+
semantic_puppet (1.0.3)
|
|
135
|
+
terminal-table (3.0.0)
|
|
136
|
+
unicode-display_width (~> 1.1, >= 1.1.1)
|
|
137
|
+
text (1.3.1)
|
|
138
|
+
thor (1.1.0)
|
|
139
|
+
unicode-display_width (1.7.0)
|
|
140
|
+
versionomy (0.5.0)
|
|
141
|
+
blockenspiel (~> 0.5)
|
|
142
|
+
yard (0.9.26)
|
|
143
|
+
|
|
144
|
+
PLATFORMS
|
|
145
|
+
ruby
|
|
146
|
+
|
|
147
|
+
DEPENDENCIES
|
|
148
|
+
bundler (~> 2.0)
|
|
149
|
+
onceover-codequality!
|
|
150
|
+
rake (~> 13.0)
|
|
151
|
+
rspec (~> 3.0)
|
|
152
|
+
|
|
153
|
+
BUNDLED WITH
|
|
154
|
+
2.0.1
|
data/lib/onceover/codequality.rb
CHANGED
|
@@ -2,6 +2,9 @@ require "onceover/codequality/lint"
|
|
|
2
2
|
require "onceover/codequality/syntax"
|
|
3
3
|
require "onceover/codequality/docs"
|
|
4
4
|
require "onceover/codequality/puppetfile"
|
|
5
|
+
require "onceover/codequality/environment"
|
|
6
|
+
require "onceover/codequality/executor"
|
|
7
|
+
require "onceover/codequality/formatter"
|
|
5
8
|
class Onceover
|
|
6
9
|
module CodeQuality
|
|
7
10
|
class CLI
|
|
@@ -29,6 +32,8 @@ class Onceover
|
|
|
29
32
|
html_docs = opts[:html_docs] || false
|
|
30
33
|
status = true
|
|
31
34
|
|
|
35
|
+
logger.info "Running Code Quality tests"
|
|
36
|
+
|
|
32
37
|
if ! no_puppetfile
|
|
33
38
|
status &= Onceover::CodeQuality::Puppetfile.puppetfile
|
|
34
39
|
end
|
|
@@ -46,9 +51,9 @@ class Onceover
|
|
|
46
51
|
end
|
|
47
52
|
|
|
48
53
|
if status
|
|
49
|
-
logger.info "Code Quality tests
|
|
54
|
+
logger.info "Code Quality tests PASSED, have a nice day"
|
|
50
55
|
else
|
|
51
|
-
logger.error "Code Quality tests
|
|
56
|
+
logger.error "Code Quality tests FAILED, see previous error(s)"
|
|
52
57
|
exit 1
|
|
53
58
|
end
|
|
54
59
|
end
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
# Support for generating documentation using Puppet Strings for each module
|
|
2
|
-
# listed in the
|
|
2
|
+
# listed in the environment.conf modulepath
|
|
3
3
|
class Onceover
|
|
4
4
|
module CodeQuality
|
|
5
5
|
module Docs
|
|
6
|
-
LOCAL_MOD_DIR = "site"
|
|
7
6
|
|
|
8
7
|
def self.puppet_strings(html_docs)
|
|
9
|
-
logger.info "Generating documentation..."
|
|
10
8
|
status = true
|
|
11
|
-
format = html_docs ? "html" : "markdown"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
format = html_docs ? "--markup html" : "--format markdown"
|
|
10
|
+
|
|
11
|
+
CodeQuality::Environment.get_site_dirs.each { |local_mod_dir|
|
|
12
|
+
if Dir.exist?(local_mod_dir)
|
|
13
|
+
Dir.glob("#{local_mod_dir}/*/") { |dir|
|
|
14
|
+
Dir.chdir(dir) {
|
|
15
|
+
CodeQuality::Formatter.start_test("Generate documentation in #{dir}")
|
|
16
|
+
# puppet strings prints useful metrics so don't swallow its output
|
|
17
|
+
output, ok = CodeQuality::Executor.run("puppet strings generate #{format}")
|
|
18
|
+
status &= ok
|
|
19
|
+
CodeQuality::Formatter.end_test(output, ok, true)
|
|
20
|
+
}
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
end
|
|
23
|
+
}
|
|
24
24
|
|
|
25
25
|
status
|
|
26
26
|
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
class Onceover
|
|
2
|
+
module CodeQuality
|
|
3
|
+
module Environment
|
|
4
|
+
|
|
5
|
+
ENVIRONMENT_CONF = "environment.conf"
|
|
6
|
+
|
|
7
|
+
# Latest best practice is to change the name of `site` to be
|
|
8
|
+
# `site-modules`. This means we need to start processing `environment.conf`
|
|
9
|
+
# to extract this...
|
|
10
|
+
def self.get_site_dirs()
|
|
11
|
+
if File.exist?(ENVIRONMENT_CONF)
|
|
12
|
+
#modulepath = site-modules:modules:$basemodulepath
|
|
13
|
+
modulepath = open(ENVIRONMENT_CONF) { |f| f.each_line.find { |line| line.include?("modulepath") } }
|
|
14
|
+
|
|
15
|
+
begin
|
|
16
|
+
environments = modulepath.split("=")[1].split(":").reject { |e|
|
|
17
|
+
# reject any elements containing interpolation or referencing modules
|
|
18
|
+
# loaded by r10k
|
|
19
|
+
e =~ /\$/ || e == "modules" || e =~ /[\\.\/]/
|
|
20
|
+
}.map {
|
|
21
|
+
|e| e.strip
|
|
22
|
+
}
|
|
23
|
+
rescue NoMethodError => e
|
|
24
|
+
raise "Malformed environment configuration: #{ENVIRONMENT_CONF}"
|
|
25
|
+
end
|
|
26
|
+
else
|
|
27
|
+
raise "Missing environment configuration: #{ENVIRONMENT_CONF}"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
environments
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
class Onceover
|
|
2
|
+
module CodeQuality
|
|
3
|
+
module Executor
|
|
4
|
+
|
|
5
|
+
# Capture all program output and check the exit status was zero
|
|
6
|
+
def self.run(*command)
|
|
7
|
+
output, s = Open3.capture2e(*command)
|
|
8
|
+
ok = s.exitstatus.zero?
|
|
9
|
+
|
|
10
|
+
return output, ok
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
class Onceover
|
|
2
|
+
module CodeQuality
|
|
3
|
+
module Formatter
|
|
4
|
+
|
|
5
|
+
START_TEST = "Checking".freeze
|
|
6
|
+
MSG_TEST_OK = "...OK".freeze
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def self.start_test(test_name)
|
|
10
|
+
logger.info "Checking #{test_name}..."
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def self.end_test(output, ok, show_output=false)
|
|
14
|
+
if !ok || show_output
|
|
15
|
+
output.each_line do |line|
|
|
16
|
+
logger.info("\t#{line.chomp}")
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
if ok
|
|
21
|
+
logger.info "...OK"
|
|
22
|
+
else
|
|
23
|
+
logger.error "...FAILED"
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -5,7 +5,7 @@ class Onceover
|
|
|
5
5
|
# Apply linting to the manifests directory and each module under `site`
|
|
6
6
|
LINT_PATHS = [
|
|
7
7
|
"manifests",
|
|
8
|
-
]
|
|
8
|
+
]
|
|
9
9
|
|
|
10
10
|
# use our default options unless user has created own settings
|
|
11
11
|
if ! File.exist? ".puppet-lint.rc"
|
|
@@ -23,15 +23,19 @@ class Onceover
|
|
|
23
23
|
|
|
24
24
|
def self.puppet
|
|
25
25
|
status = true
|
|
26
|
-
LINT_PATHS.each { |p|
|
|
27
|
-
if Dir.exists?(p)
|
|
28
|
-
logger.info("checking lint in #{p}...")
|
|
29
|
-
if ! system("puppet-lint #{LINT_OPTIONS.join ' '} #{p}")
|
|
30
|
-
status = false
|
|
31
|
-
else
|
|
32
|
-
logger.info("...ok")
|
|
33
|
-
end
|
|
34
26
|
|
|
27
|
+
# wait until runtime to scan directories for unit tests
|
|
28
|
+
lint_paths = LINT_PATHS.concat(
|
|
29
|
+
CodeQuality::Environment.get_site_dirs.each { |site_dir|
|
|
30
|
+
Dir.glob("#{site_dir}/*").select { |f| File.directory? f}
|
|
31
|
+
}
|
|
32
|
+
)
|
|
33
|
+
lint_paths.each { |p|
|
|
34
|
+
if Dir.exist?(p)
|
|
35
|
+
CodeQuality::Formatter.start_test("lint in #{p}")
|
|
36
|
+
output, ok = CodeQuality::Executor.run("puppet-lint #{LINT_OPTIONS.join ' '} #{p}")
|
|
37
|
+
status &= ok
|
|
38
|
+
CodeQuality::Formatter.end_test(output, ok)
|
|
35
39
|
end
|
|
36
40
|
}
|
|
37
41
|
|
|
@@ -6,16 +6,12 @@ class Onceover
|
|
|
6
6
|
def self.puppetfile
|
|
7
7
|
status = true
|
|
8
8
|
if File.exist?("Puppetfile")
|
|
9
|
-
|
|
10
|
-
output,
|
|
11
|
-
|
|
9
|
+
CodeQuality::Formatter.start_test("Puppetfile")
|
|
10
|
+
output, ok = CodeQuality::Executor.run("r10k puppetfile check")
|
|
11
|
+
|
|
12
12
|
status &= ok
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
logger.info("...ok")
|
|
16
|
-
else
|
|
17
|
-
logger.error("Puppetfile validation failed: #{output}")
|
|
18
|
-
end
|
|
14
|
+
CodeQuality::Formatter.end_test(output, ok)
|
|
19
15
|
else
|
|
20
16
|
logger.warn("No Puppetfile found... continuing")
|
|
21
17
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
class Onceover
|
|
3
3
|
module CodeQuality
|
|
4
4
|
module Syntax
|
|
@@ -10,7 +10,7 @@ class Onceover
|
|
|
10
10
|
# puppet-syntax
|
|
11
11
|
#
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
CodeQuality::Formatter.start_test("puppet-syntax rake task")
|
|
14
14
|
# puppet-syntax seems to assign $stdout/$stderr internally in ways that
|
|
15
15
|
# prevent capturing output. As a nasty hack, run it as inline ruby and
|
|
16
16
|
# capture the output from the process...
|
|
@@ -19,15 +19,10 @@ class Onceover
|
|
|
19
19
|
PuppetSyntax.exclude_paths = ['vendor/**/*','spec/templates/*.erb']
|
|
20
20
|
Rake::Task['syntax'].invoke
|
|
21
21
|
RUBY_CODE
|
|
22
|
-
output, s = Open3.capture2e("ruby", "-e", inline_ruby)
|
|
23
|
-
ok =
|
|
22
|
+
#output, s = Open3.capture2e("ruby", "-e", inline_ruby)
|
|
23
|
+
output, ok = CodeQuality::Executor.run("ruby", "-e", inline_ruby)
|
|
24
24
|
status &= ok
|
|
25
|
-
|
|
26
|
-
if ok
|
|
27
|
-
logger.info("...ok")
|
|
28
|
-
else
|
|
29
|
-
logger.error("puppet-syntax validation failed: #{output}")
|
|
30
|
-
end
|
|
25
|
+
CodeQuality::Formatter.end_test(output, ok)
|
|
31
26
|
|
|
32
27
|
#
|
|
33
28
|
# python yaml
|
|
@@ -45,19 +40,13 @@ class Onceover
|
|
|
45
40
|
# users would be advised to fix the file, so lets _also_ validate yaml
|
|
46
41
|
# files with python if available on our path...
|
|
47
42
|
if system("python --version && python -c 'import yaml'", :err => File::NULL)
|
|
48
|
-
|
|
43
|
+
CodeQuality::Formatter.start_test("Additional python YAML validation")
|
|
49
44
|
script = File.join(File.dirname(File.expand_path(__FILE__)), "../../../res/validate_yaml.py")
|
|
50
|
-
output,
|
|
51
|
-
ok = s.exitstatus.zero?
|
|
45
|
+
output, ok = CodeQuality::Executor.run("python #{script}")
|
|
52
46
|
status &= ok
|
|
53
|
-
|
|
54
|
-
if ok
|
|
55
|
-
logger.info("...ok")
|
|
56
|
-
else
|
|
57
|
-
logger.error("Puppetfile validation failed: #{output}")
|
|
58
|
-
end
|
|
47
|
+
CodeQuality::Formatter.end_test(output, ok)
|
|
59
48
|
else
|
|
60
|
-
logger.warn("Please install python and
|
|
49
|
+
logger.warn("Please install python and pyyaml for enhanced YAML validation (pip install pyyaml)")
|
|
61
50
|
end
|
|
62
51
|
|
|
63
52
|
status
|
|
@@ -20,12 +20,12 @@ Gem::Specification.new do |spec|
|
|
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
21
21
|
spec.require_paths = ["lib"]
|
|
22
22
|
|
|
23
|
-
spec.add_development_dependency "bundler", "~>
|
|
24
|
-
spec.add_development_dependency "rake", "~>
|
|
23
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
|
24
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
|
25
25
|
spec.add_development_dependency "rspec", "~> 3.0"
|
|
26
26
|
|
|
27
27
|
spec.add_runtime_dependency 'onceover', '~> 3'
|
|
28
|
-
spec.add_runtime_dependency 'puppet-syntax', '~>
|
|
28
|
+
spec.add_runtime_dependency 'puppet-syntax', '~> 3'
|
|
29
29
|
spec.add_runtime_dependency 'puppet-lint', '~> 2'
|
|
30
30
|
spec.add_runtime_dependency 'puppet-strings', '~> 2'
|
|
31
31
|
end
|
data/res/validate_yaml.py
CHANGED
|
@@ -7,9 +7,9 @@ try:
|
|
|
7
7
|
import yaml
|
|
8
8
|
for root, dirs, files in os.walk("."):
|
|
9
9
|
for f in files:
|
|
10
|
-
# we want yaml files that are not in hidden (.) dirs. account for / vs \ on windows/linux
|
|
10
|
+
# we want yaml files that are not in hidden (.) dirs or vendor directory. account for / vs \ on windows/linux
|
|
11
11
|
target = os.path.join(root, f)
|
|
12
|
-
if target.endswith(".yaml") and not re.match("^\.(/|\\\)
|
|
12
|
+
if target.endswith(".yaml") and not re.match("^\.(/|\\\)(\.|vendor)", target):
|
|
13
13
|
try:
|
|
14
14
|
yaml.safe_load(open(target,"r"))
|
|
15
15
|
except Exception as e:
|
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.8.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: 2021-02-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -16,28 +16,28 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '2.0'
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
26
|
+
version: '2.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '13.0'
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
40
|
+
version: '13.0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: rspec
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -72,14 +72,14 @@ dependencies:
|
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '
|
|
75
|
+
version: '3'
|
|
76
76
|
type: :runtime
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
82
|
+
version: '3'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: puppet-lint
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -119,6 +119,7 @@ files:
|
|
|
119
119
|
- ".rspec"
|
|
120
120
|
- ".travis.yml"
|
|
121
121
|
- Gemfile
|
|
122
|
+
- Gemfile.lock
|
|
122
123
|
- LICENSE
|
|
123
124
|
- README.md
|
|
124
125
|
- Rakefile
|
|
@@ -127,6 +128,9 @@ files:
|
|
|
127
128
|
- lib/onceover/codequality.rb
|
|
128
129
|
- lib/onceover/codequality/cli.rb
|
|
129
130
|
- lib/onceover/codequality/docs.rb
|
|
131
|
+
- lib/onceover/codequality/environment.rb
|
|
132
|
+
- lib/onceover/codequality/executor.rb
|
|
133
|
+
- lib/onceover/codequality/formatter.rb
|
|
130
134
|
- lib/onceover/codequality/lint.rb
|
|
131
135
|
- lib/onceover/codequality/puppetfile.rb
|
|
132
136
|
- lib/onceover/codequality/syntax.rb
|