danger-findbugs 0.0.2 → 0.0.3

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: ffe6bb377073d1c3c12cfd2721783ea1a911d77c
4
- data.tar.gz: '04594ed10d6f94484c5b16550e9bd864cec3dc55'
3
+ metadata.gz: 3046d0b60cb2518acd1e4661142a429b09448266
4
+ data.tar.gz: 558294bdc689242e984cb9257d72d9dd501f6fc8
5
5
  SHA512:
6
- metadata.gz: a119ead333921b1d9815c54c304d96e43622551868c12410735a35fc4ce21eb60dad1f62156f85d578c658e05017004d6705b1620cadb72b763c59a16b35917b
7
- data.tar.gz: b65b91b1c4625e468131b9c0209e2b3dd498721a243e351ef4d97b4f850fc0c34bfffff30f0693dbdd9a1598513e5f171b04478a3fbba0b3daae06d4ff61411a
6
+ metadata.gz: 348ba4ae2228a9fe308d54767fa2009450a235d0ef0fcbcb129e7b9004006dd28a02f4e6847a4906ad82312b65ebbacf29c1556a9e4470d09935d5c3bf2af4ec
7
+ data.tar.gz: cb3887f5cec26254ac4eb1e2972b2cae0c4e4012c168c18ad93a1330364db1bb4ff86c63efecdb7ed3d8076d91a692b85e6f159873c8972d5cf705300cb83202
data/.yardoc/checksums ADDED
@@ -0,0 +1,5 @@
1
+ /Users/kazukiyoshida/.ghq/github.com/kazy1991/danger-findbugs/lib/danger_findbugs.rb ed1b710ccaba0d5083ec06a8a878b7845803f9fe
2
+ /Users/kazukiyoshida/.ghq/github.com/kazy1991/danger-findbugs/lib/danger_plugin.rb d17a1cd87e3957d27aeb0555be3444bb8a0b5b80
3
+ /Users/kazukiyoshida/.ghq/github.com/kazy1991/danger-findbugs/lib/findbugs/bug_issue.rb 4027ab9de6bf6007069aaf5796c7a1659f0ac9fe
4
+ /Users/kazukiyoshida/.ghq/github.com/kazy1991/danger-findbugs/lib/findbugs/gem_version.rb f922cd210d6ae8001390f0b9ca965826dc376f22
5
+ /Users/kazukiyoshida/.ghq/github.com/kazy1991/danger-findbugs/lib/findbugs/plugin.rb 2d3abb832db8419fb067b35db47c07e773b0f7de
data/.yardoc/complete ADDED
File without changes
Binary file
Binary file
Binary file
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- danger-findbugs (0.0.2)
4
+ danger-findbugs (0.0.3)
5
5
  danger-plugin-api (~> 1.0)
6
6
  oga (~> 2.10)
7
7
 
@@ -21,7 +21,7 @@ GEM
21
21
  colored2 (3.1.2)
22
22
  cork (0.3.0)
23
23
  colored2 (~> 3.1)
24
- danger (5.2.0)
24
+ danger (5.2.1)
25
25
  claide (~> 1.0)
26
26
  claide-plugins (>= 0.9.2)
27
27
  colored2 (~> 3.1)
data/README.md CHANGED
@@ -1,20 +1,62 @@
1
- # danger-findbugs
2
1
 
3
- A description of danger-findbugs.
4
2
 
5
- ## Installation
3
+ ### findbugs
6
4
 
7
- $ gem install danger-findbugs
5
+ Checks on your gradle project's Java source files.
6
+ This is done using [finbugs](http://findbugs.sourceforge.net/)
7
+ Results are passed out as tables in markdown.
8
+
9
+ <blockquote>Running Findbugs with its basic configuration
10
+ <pre>
11
+ findbugs.report</pre>
12
+ </blockquote>
13
+
14
+ <blockquote>Running Findbugs with a specific gradle task or report_file
15
+ <pre>
16
+ findbugs.gradle_task = "app:findbugs" #defalut: findbugs
17
+ findbugs.report_file = "app/build/reports/findbugs/findbugs.xml"
18
+ findbugs.report</pre>
19
+ </blockquote>
20
+
21
+
22
+
23
+ #### Attributes
24
+
25
+ `gradle_module` - Custom gradle module to run.
26
+ This is useful when your project has different flavors.
27
+ Defaults to "app".
28
+
29
+ `gradle_task` - Custom gradle task to run.
30
+ This is useful when your project has different flavors.
31
+ Defaults to "findbugs".
32
+
33
+ `report_file` - Location of report file
34
+ If your findbugs task outputs to a different location, you can specify it here.
35
+ Defaults to "build/reports/findbugs_report.xml".
36
+
37
+
38
+
39
+
40
+ #### Methods
41
+
42
+ `report` - Calls findbugs task of your gradle project.
43
+ It fails if `gradlew` cannot be found inside current directory.
44
+ It fails if `report_file` cannot be found inside current directory.
45
+
46
+ `target_files` - A getter for current updated files
47
+
48
+ `exec_gradle_task` - Run gradle task
49
+
50
+ `gradlew_exists?` - Check gradlew file exists in current directory
51
+
52
+ `report_file_exist?` - Check report_file exists in current directory
53
+
54
+ `findbugs_report` - A getter for `gradle_task`, returning "findbugs" if value is nil.
55
+
56
+ `bug_issues` - A getter for `gradle_task`, returning "findbugs" if value is nil.
57
+
58
+ `send_inline_comment` - Send inline comment with danger's warn or fail method
8
59
 
9
- ## Usage
10
60
 
11
- Methods and attributes from this plugin are available in
12
- your `Dangerfile` under the `findbugs` namespace.
13
61
 
14
- ## Development
15
62
 
16
- 1. Clone this repo
17
- 2. Run `bundle install` to setup dependencies.
18
- 3. Run `bundle exec rake spec` to run the tests.
19
- 4. Use `bundle exec guard` to automatically have tests run as you make changes.
20
- 5. Make your changes.
@@ -1,3 +1,3 @@
1
1
  module Findbugs
2
- VERSION = "0.0.2".freeze
2
+ VERSION = "0.0.3".freeze
3
3
  end
@@ -1,15 +1,48 @@
1
1
  module Danger
2
+ # Checks on your gradle project's Java source files.
3
+ # This is done using [finbugs](http://findbugs.sourceforge.net/)
4
+ # Results are passed out as tables in markdown.
5
+ #
6
+ # @example Running Findbugs with its basic configuration
7
+ #
8
+ # findbugs.report
9
+ #
10
+ # @example Running Findbugs with a specific gradle task or report_file
11
+ #
12
+ # findbugs.gradle_task = "app:findbugs" #defalut: findbugs
13
+ # findbugs.report_file = "app/build/reports/findbugs/findbugs.xml"
14
+ # findbugs.report
15
+ #
16
+ # @see kazy1991/danger-findbugs
17
+ # @tags android, findbugs
18
+
2
19
  class DangerFindbugs < Plugin
3
- require 'oga'
4
20
  require_relative './bug_issue'
5
21
 
22
+ # Custom gradle module to run.
23
+ # This is useful when your project has different flavors.
24
+ # Defaults to "app".
25
+ # @return [String]
6
26
  attr_writer :gradle_module
27
+ # Custom gradle task to run.
28
+ # This is useful when your project has different flavors.
29
+ # Defaults to "findbugs".
30
+ # @return [String]
7
31
  attr_writer :gradle_task
32
+ # Location of report file
33
+ # If your findbugs task outputs to a different location, you can specify it here.
34
+ # Defaults to "build/reports/findbugs_report.xml".
35
+ # @return [String]
8
36
  attr_writer :report_file
9
37
 
10
38
  GRADLEW_NOT_FOUND = "Could not find `gradlew` inside current directory"
11
39
  REPORT_FILE_NOT_FOUND = "Findbugs report not found"
12
40
 
41
+ # Calls findbugs task of your gradle project.
42
+ # It fails if `gradlew` cannot be found inside current directory.
43
+ # It fails if `report_file` cannot be found inside current directory.
44
+ # @return [void]
45
+ #
13
46
  def report
14
47
  return fail(GRADLEW_NOT_FOUND) unless gradlew_exists?
15
48
  exec_gradle_task
@@ -17,44 +50,66 @@ module Danger
17
50
  send_inline_comment
18
51
  end
19
52
 
53
+ # A getter for `gradle_module`, returning "app" if value is nil.
54
+ # @return [String]
20
55
  def gradle_module
21
56
  @gradle_module ||= 'app'
22
57
  end
23
58
 
59
+ # A getter for `gradle_task`, returning "findbugs" if value is nil.
60
+ # @return [String]
24
61
  def gradle_task
25
62
  @gradle_task ||= 'findbugs'
26
63
  end
27
64
 
65
+ # A getter for `report_file`, returning "build/reports/findbugs_report.xml" if value is nil.
66
+ # @return [String]
28
67
  def report_file
29
68
  @report_file ||= 'build/reports/findbugs_report.xml'
30
69
  end
31
70
 
71
+ # A getter for current updated files
72
+ # @return [Array[String]]
32
73
  def target_files
33
74
  @target_files ||= (git.modified_files - git.deleted_files) + git.added_files
34
75
  end
35
76
 
77
+ # Run gradle task
78
+ # @return [void]
36
79
  def exec_gradle_task
37
80
  system "./gradlew #{gradle_task}"
38
81
  end
39
82
 
83
+ # Check gradlew file exists in current directory
84
+ # @return [Bool]
40
85
  def gradlew_exists?
41
86
  `ls gradlew`.strip.empty? == false
42
87
  end
43
88
 
89
+ # Check report_file exists in current directory
90
+ # @return [Bool]
44
91
  def report_file_exist?
45
92
  File.exists?(report_file)
46
93
  end
47
94
 
95
+ # A getter for `gradle_task`, returning "findbugs" if value is nil.
96
+ # @return [Oga::XML::Document]
48
97
  def findbugs_report
98
+ require 'oga'
49
99
  @findbugs_report ||= Oga.parse_xml(File.open(report_file))
50
100
  end
51
101
 
102
+ # A getter for `gradle_task`, returning "findbugs" if value is nil.
103
+ # @return [Array[BugIssue]]
52
104
  def bug_issues
53
105
  @bug_issues ||= findbugs_report.xpath("//BugInstance").map do |buginfo|
54
106
  BugIssue.new(gradle_module, buginfo)
55
107
  end
56
108
  end
57
109
 
110
+ # Send inline comment with danger's warn or fail method
111
+ #
112
+ # @return [void]
58
113
  def send_inline_comment
59
114
  bug_issues.each do |issue|
60
115
  next unless target_files.include? issue.absolute_path
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: danger-findbugs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - kazuki-yoshida
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-14 00:00:00.000000000 Z
11
+ date: 2017-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: danger-plugin-api
@@ -173,6 +173,11 @@ extra_rdoc_files: []
173
173
  files:
174
174
  - ".gitignore"
175
175
  - ".travis.yml"
176
+ - ".yardoc/checksums"
177
+ - ".yardoc/complete"
178
+ - ".yardoc/object_types"
179
+ - ".yardoc/objects/root.dat"
180
+ - ".yardoc/proxy_types"
176
181
  - Gemfile
177
182
  - Gemfile.lock
178
183
  - Guardfile