quality 6.0.0 → 7.0.0

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