codeclimate 0.59.0 → 0.59.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bd44d5947202badd787f474113ea06889904a15d
4
- data.tar.gz: 6bcddcf1f0171efa25c510762547b5e11b43edeb
3
+ metadata.gz: 47373962a6c4b9694dd53ff15e5763eea2c4bf3e
4
+ data.tar.gz: 78c315602436913d641dbc942394dd73a6e03fe9
5
5
  SHA512:
6
- metadata.gz: 6c69fb0758d388309a3a52ab9f196b1fac1cf352100990287f6ad6446d60fb87e7f565edb4b3111052484d5369771a223339272c1d99681759196e2319f98cae
7
- data.tar.gz: fb560f47a7979b9d28680ea88be6fd3a6aba55fe42ccecc1d9fb96cd9250a5c86a4f0402013ba4673b33748d21c814eb2a528a5b290139bfca8ebd15fd9ed508
6
+ metadata.gz: 4659c57c484a151e32740689d8d6e4fa4ff1cb18ce63f7c928445461a5a6950554b4f85b24cdf88b320627ccbe5e44cbbd1d0833fbc362fa50f17754c4ff1428
7
+ data.tar.gz: 3533af922af47f089a30f0cc4116af36973da0b1a3b099170443a33034264cd3dceab07c86503c22d65d582d034bddb4d3aa7660d33db733af361b59e43b38f2
data/config/engines.yml CHANGED
@@ -69,7 +69,6 @@ complexity-ruby:
69
69
  beta: codeclimate/codeclimate-complexity-ruby:b47
70
70
  description: Code Climate Complexity Checks for Ruby
71
71
  community: false
72
- code_climate_check: true
73
72
  default_ratings_paths:
74
73
  - "**.rb"
75
74
  default_config:
@@ -12,10 +12,7 @@ module CC
12
12
  # handling.
13
13
  def fetch(name, channel)
14
14
  metadata = self[name]
15
- metadata.merge(
16
- "image" => metadata["channels"][channel.to_s],
17
- "code_climate_check" => metadata.fetch("code_climate_check", false),
18
- )
15
+ metadata.merge("image" => metadata["channels"][channel.to_s])
19
16
  end
20
17
  end
21
18
 
data/lib/cc/cli.rb CHANGED
@@ -13,6 +13,7 @@ require "cc/cli/help"
13
13
  require "cc/cli/init"
14
14
  require "cc/cli/output"
15
15
  require "cc/cli/prepare"
16
+ require "cc/cli/prepare/quality"
16
17
  require "cc/cli/runner"
17
18
  require "cc/cli/test"
18
19
  require "cc/cli/validate_config"
@@ -37,14 +37,6 @@ module CC
37
37
  end
38
38
  end
39
39
 
40
- def codeclimate_checks
41
- @codeclimate_checks ||= engine_registry.list.each_with_object({}) do |(name, config), result|
42
- if code_climate_check?(config)
43
- result[name] = config
44
- end
45
- end
46
- end
47
-
48
40
  def errors
49
41
  []
50
42
  end
@@ -74,10 +66,6 @@ module CC
74
66
  files_exist?(engine)
75
67
  end
76
68
 
77
- def code_climate_check?(engine)
78
- engine["code_climate_check"] && ENV["RUN_CODECLIMATE_CHECKS"] == "true"
79
- end
80
-
81
69
  def files_exist?(engine)
82
70
  workspace_files.any? do |path|
83
71
  engine["enable_regexps"].any? { |re| Regexp.new(re).match(path) }
data/lib/cc/cli/init.rb CHANGED
@@ -19,11 +19,9 @@ module CC
19
19
  create_default_engine_configs if engines_enabled?
20
20
  elsif upgrade? && engines_enabled?
21
21
  warn "Config file .codeclimate.yml already configured for the Platform.\nTry running 'validate-config' to check configuration."
22
- create_codeclimate_checks
23
22
  create_default_engine_configs
24
23
  else
25
24
  generate_all_config
26
- create_codeclimate_checks
27
25
  end
28
26
  end
29
27
 
@@ -58,20 +56,6 @@ module CC
58
56
  filesystem.write_path(CODECLIMATE_YAML, config.to_yaml)
59
57
  end
60
58
 
61
- def create_codeclimate_checks
62
- if ENV["RUN_CODECLIMATE_CHECKS"] == "true"
63
- say "Generating codeclimate checks..."
64
- plain_config_hash = JSON.parse(CC::Yaml::Serializer::Json.serialize(existing_cc_config))
65
- config = CC::CLI::Config.new(plain_config_hash)
66
-
67
- config_generator.codeclimate_checks.each do |(engine_name, engine_config)|
68
- config.add_engine(engine_name, engine_config)
69
- end
70
-
71
- filesystem.write_path(CODECLIMATE_YAML, config.to_yaml)
72
- end
73
- end
74
-
75
59
  def create_default_engine_configs
76
60
  say "Generating default configuration for engines..."
77
61
  available_engine_configs.each do |(engine_name, config_paths)|
@@ -0,0 +1,64 @@
1
+ require "safe_yaml/load"
2
+
3
+ module CC
4
+ module CLI
5
+ class Prepare
6
+ class Quality < Command
7
+ ENGINES_CONFIG = {
8
+ "complexity-ruby" => {
9
+ "enabled" => true,
10
+ "channel" => "beta",
11
+ },
12
+ "duplication" => {
13
+ "enabled" => true,
14
+ "channel" => "cronopio",
15
+ "config" => {
16
+ "languages" => [
17
+ "ruby",
18
+ ],
19
+ },
20
+ },
21
+ }.freeze
22
+
23
+ def execute
24
+ Dir.chdir(CC::Analyzer::MountedPath.code.container_path) do
25
+ content =
26
+ if (existing_contents = read_codeclimate_yml)
27
+ modify(existing_contents)
28
+ else
29
+ { "engines" => ENGINES_CONFIG }
30
+ end
31
+
32
+ write_codeclimate_yml(content)
33
+ end
34
+ end
35
+
36
+ private
37
+
38
+ def modify(content)
39
+ content.delete("ratings")
40
+ content["engines"] ||= {}
41
+ content["engines"].merge!(ENGINES_CONFIG)
42
+ content
43
+ end
44
+
45
+ def read_codeclimate_yml
46
+ SafeYAML.load_file(CODECLIMATE_YAML)
47
+ rescue Errno::ENOENT
48
+ CLI.debug("No .codeclimate.yml present")
49
+ rescue => ex
50
+ message = "Error reading existing #{CODECLIMATE_YAML}, overwriting."
51
+ $stderr.puts(colorize("WARNING: #{message}", :yellow))
52
+ CLI.debug("error: #{ex.class} - #{ex.message}")
53
+ end
54
+
55
+ def write_codeclimate_yml(content)
56
+ yaml = YAML.dump(content)
57
+ CLI.debug("Writing .codeclimate.yml")
58
+ CLI.debug(yaml)
59
+ File.write(CODECLIMATE_YAML, yaml)
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codeclimate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.59.0
4
+ version: 0.59.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code Climate
@@ -160,6 +160,20 @@ dependencies:
160
160
  - - "~>"
161
161
  - !ruby/object:Gem::Version
162
162
  version: '2.3'
163
+ - !ruby/object:Gem::Dependency
164
+ name: safe_yaml
165
+ requirement: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: '1.0'
170
+ type: :runtime
171
+ prerelease: false
172
+ version_requirements: !ruby/object:Gem::Requirement
173
+ requirements:
174
+ - - "~>"
175
+ - !ruby/object:Gem::Version
176
+ version: '1.0'
163
177
  description: Code Climate command line tool
164
178
  email: hello@codeclimate.com
165
179
  executables:
@@ -241,6 +255,7 @@ files:
241
255
  - lib/cc/cli/init.rb
242
256
  - lib/cc/cli/output.rb
243
257
  - lib/cc/cli/prepare.rb
258
+ - lib/cc/cli/prepare/quality.rb
244
259
  - lib/cc/cli/runner.rb
245
260
  - lib/cc/cli/test.rb
246
261
  - lib/cc/cli/upgrade_config_generator.rb