quality 6.0.0 → 7.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c3a4891ac725406fb358ba956518a7dc58da2c92
4
- data.tar.gz: 352d93e0fca4b470a8810c6c7099324c453a01c3
3
+ metadata.gz: 391f50644286c21d661b14b26561ef8c2326f69d
4
+ data.tar.gz: 4688022631bec832fe2b4af9e05e6c6ce889e11e
5
5
  SHA512:
6
- metadata.gz: d15f328e1a7cb675a8a69811ae87a354d7ef8378978f7863ecc7780b0ba0d54f5f4b2dd5b39f6188d551105146cf7a8f4e554231d1a5440ab28a1dd4369cfd92
7
- data.tar.gz: 8e066f14261ef171fb2849f9989ed57dce84338ca1054c25004ded6ac84553b72fd8dea7e8fb5e58812d2f3b4be8db92fbd4859f11ace3888697c147c8fc9a7f
6
+ metadata.gz: 944415ce3e6063fd876e51dfd01f1554a9fa38fbcf504d76f9a44df05273b663a6af958791b924c1e2be0261f48b97217286bb88e380d824779698f5ae888a8e
7
+ data.tar.gz: b2e622d47b4037081b49203cc77842c9a40b22f46e895181e81622c3c96633d4a8a0ca357178254b3993958fc284b240fb31b0afaa213067ed309ef0e78a5d03
data/README.md CHANGED
@@ -80,6 +80,10 @@ Quality::Rake::Task.new { |t|
80
80
  # Defaults to t.ruby_dirs
81
81
  t.source_dirs.concat(%w(MyProject MyProjectTests))
82
82
 
83
+ # Pick any extra files that are source files, but may not have
84
+ # extensions--defaults to ['Rakefile']
85
+ t.extra_files = ['Foo', 'Rakefile']
86
+
83
87
  # Relative path to output directory where *_high_water_mark
84
88
  # files will be read/written
85
89
  #
@@ -1,5 +1,6 @@
1
1
  require_relative 'command_output_processor'
2
2
  require_relative 'process_runner'
3
+ require_relative 'ruby_spawn'
3
4
 
4
5
  # XXX: Should add *.gemspec to glob
5
6
  module Quality
@@ -14,9 +15,13 @@ module Quality
14
15
  Quality::CommandOutputProcessor,
15
16
  count_dir: Dir,
16
17
  process_runner_class: ProcessRunner)
17
- @count_file, @count_io, @command_output_processor_class, @count_dir =
18
- count_file, count_io, command_output_processor_class, count_dir
19
- @cmd, @command_options, @verbose = cmd, command_options, verbose
18
+ @count_file = count_file
19
+ @count_io = count_io
20
+ @command_output_processor_class = command_output_processor_class
21
+ @count_dir = count_dir
22
+ @cmd = cmd
23
+ @command_options = command_options
24
+ @verbose = verbose
20
25
  @count_dir.mkdir(output_dir) unless @count_file.exists?(output_dir)
21
26
  @filename = File.join(output_dir, "#{cmd}_high_water_mark")
22
27
  @process_runner_class = process_runner_class
@@ -89,21 +94,7 @@ module Quality
89
94
  args ||= ''
90
95
 
91
96
  @found_output = false
92
- if args.size > 0
93
- "#{cmd_with_ruby_hack_prefix} #{args}"
94
- else
95
- "#{cmd_with_ruby_hack_prefix}"
96
- end
97
- end
98
-
99
- def cmd_with_ruby_hack_prefix
100
- if defined?(RUBY_ENGINE) && (RUBY_ENGINE == 'jruby')
101
- "jruby -S #{@cmd}"
102
- elsif RbConfig::CONFIG['host_os'] =~ /mswin|mingw/
103
- "#{@cmd}.bat"
104
- else
105
- @cmd
106
- end
97
+ RubySpawn.new(@cmd, args).invocation
107
98
  end
108
99
 
109
100
  def write_violations(new_violations)
@@ -1,3 +1,7 @@
1
+ # XXX: I should figure out how to use tagged releases in github. Example:
2
+ # https://github.com/xsc/lein-ancient/issues/29
3
+ # https://github.com/xsc/lein-ancient/releases
4
+
1
5
  # XXX: This should be moved out of rake directory
2
6
  module Quality
3
7
  # Configuration for running quality tool
@@ -32,6 +36,10 @@ module Quality
32
36
  # Defaults to the same as ruby_dirs
33
37
  attr_writer :source_dirs
34
38
 
39
+ # Pick any extra files that are source files, but may not have
40
+ # extensions--defaults to ['Rakefile']
41
+ attr_accessor :extra_files
42
+
35
43
  # Relative path to output directory where *_high_water_mark
36
44
  # files will be read/written
37
45
  #
@@ -46,9 +54,15 @@ module Quality
46
54
  @source_dirs ||= ruby_dirs.clone
47
55
  end
48
56
 
57
+ def extra_files
58
+ @extra_files ||= ['Rakefile']
59
+ end
60
+
49
61
  def source_files_glob(dirs = source_dirs,
50
- extensions = 'rb,swift,cpp,c,java,py,clj,cljs')
51
- File.join("{#{dirs.join(',')}}", '**', "*.{#{extensions}}")
62
+ extensions =
63
+ 'rb,swift,cpp,c,java,py,clj,cljs,scala,js')
64
+ File.join("{#{dirs.join(',')}}", '**',
65
+ "{#{extra_files.join(',')},*.{#{extensions}}}")
52
66
  end
53
67
 
54
68
  def ruby_files_glob
@@ -63,7 +77,8 @@ module Quality
63
77
  def initialize(quality_name: 'quality',
64
78
  ratchet_name: 'ratchet',
65
79
  globber: fail)
66
- @quality_name, @ratchet_name = quality_name, ratchet_name
80
+ @quality_name = quality_name
81
+ @ratchet_name = ratchet_name
67
82
  @skip_tools = []
68
83
  @output_dir = 'metrics'
69
84
  @verbose = false
@@ -35,7 +35,8 @@ module Quality
35
35
  gem_spec: Gem::Specification,
36
36
  quality_checker_class:
37
37
  Quality::QualityChecker)
38
- @dsl, @cmd_runner = dsl, cmd_runner
38
+ @dsl = dsl
39
+ @cmd_runner = cmd_runner
39
40
  @globber = globber
40
41
  @config = Quality::Config.new(globber: globber)
41
42
  yield @config if block_given?
@@ -0,0 +1,27 @@
1
+ module Quality
2
+ # Spawn a ruby process
3
+ class RubySpawn
4
+ def initialize(cmd, args)
5
+ @cmd = cmd
6
+ @args = args
7
+ end
8
+
9
+ def invocation
10
+ if @args.size > 0
11
+ "#{cmd_with_ruby_hack_prefix} #{@args}"
12
+ else
13
+ "#{cmd_with_ruby_hack_prefix}"
14
+ end
15
+ end
16
+
17
+ def cmd_with_ruby_hack_prefix
18
+ if defined?(RUBY_ENGINE) && (RUBY_ENGINE == 'jruby')
19
+ "jruby -S #{@cmd}"
20
+ elsif RbConfig::CONFIG['host_os'] =~ /mswin|mingw/
21
+ "#{@cmd}.bat"
22
+ else
23
+ @cmd
24
+ end
25
+ end
26
+ end
27
+ end
@@ -2,5 +2,5 @@
2
2
  # reek, flog, flay and rubocop and makes sure your numbers don't get
3
3
  # any worse over time.
4
4
  module Quality
5
- VERSION = '6.0.0'
5
+ VERSION = '7.0.0'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quality
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0
4
+ version: 7.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vince Broz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-23 00:00:00.000000000 Z
11
+ date: 2015-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cane
@@ -237,6 +237,7 @@ files:
237
237
  - lib/quality/quality_checker.rb
238
238
  - lib/quality/rake/config.rb
239
239
  - lib/quality/rake/task.rb
240
+ - lib/quality/ruby_spawn.rb
240
241
  - lib/quality/runner.rb
241
242
  - lib/quality/tools/bigfiles.rb
242
243
  - lib/quality/tools/cane.rb