danger-android_lint 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 +4 -4
- data/CHANGELOG.md +6 -3
- data/lib/android_lint/gem_version.rb +1 -1
- data/lib/android_lint/plugin.rb +14 -4
- data/spec/android_lint_spec.rb +34 -8
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 14a8b24ca402a1f8615991280e363bf0fe02eb9d
|
4
|
+
data.tar.gz: 4be292fab2a1db392f729bda485a831f1533c611
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5842a73db7eaac24acc5a704c582bbbcd690b95499392f57214e45fb6bd9eb71dbd510cc17456017922823a1544bda1bf8ee63dd62371cd1c47bdbc06c48301
|
7
|
+
data.tar.gz: 205b8756e1b4f3fdf34256b4baa551475fcec0e5ec239dc68fde22616856c6ae7052b44b66bd9898d6683c5aceeba93e44a7cef7d8427a715ef0f6d2fbada307
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,9 @@
|
|
1
|
+
# 0.0.3
|
2
|
+
- Add `report_file` parameter, so users can set a custom path for their report xmls (@churowa)
|
3
|
+
|
1
4
|
## 0.0.2
|
2
|
-
- Fix check for inexistent report file
|
3
|
-
- Fix markdown message being printed without any issues reported
|
5
|
+
- Fix check for inexistent report file (@barbosa)
|
6
|
+
- Fix markdown message being printed without any issues reported (@barbosa)
|
4
7
|
|
5
8
|
## 0.0.1
|
6
|
-
- Initial version
|
9
|
+
- Initial version (@barbosa)
|
data/lib/android_lint/plugin.rb
CHANGED
@@ -25,7 +25,17 @@ module Danger
|
|
25
25
|
class DangerAndroidLint < Plugin
|
26
26
|
|
27
27
|
SEVERITY_LEVELS = ["Warning", "Error", "Fatal"]
|
28
|
-
|
28
|
+
|
29
|
+
# Location of lint report file
|
30
|
+
# If your Android lint task outputs to a different location, you can specify it here.
|
31
|
+
# Defaults to "app/build/reports/lint/lint-result.xml".
|
32
|
+
# @return [String]
|
33
|
+
attr_accessor :report_file
|
34
|
+
# A getter for `report_file`.
|
35
|
+
# @return [String]
|
36
|
+
def report_file
|
37
|
+
return @report_file || 'app/build/reports/lint/lint-result.xml'
|
38
|
+
end
|
29
39
|
|
30
40
|
# Custom gradle task to run.
|
31
41
|
# This is useful when your project has different flavors.
|
@@ -59,8 +69,8 @@ module Danger
|
|
59
69
|
|
60
70
|
system "./gradlew #{gradle_task || 'lint'}"
|
61
71
|
|
62
|
-
unless File.exists?(
|
63
|
-
fail("Lint report not found at `#{
|
72
|
+
unless File.exists?(report_file)
|
73
|
+
fail("Lint report not found at `#{report_file}`. "\
|
64
74
|
"Have you forgot to add `xmlReport true` to your `build.gradle` file?")
|
65
75
|
end
|
66
76
|
|
@@ -80,7 +90,7 @@ module Danger
|
|
80
90
|
private
|
81
91
|
|
82
92
|
def read_issues_from_report
|
83
|
-
file = File.open(
|
93
|
+
file = File.open(report_file)
|
84
94
|
|
85
95
|
require 'oga'
|
86
96
|
report = Oga.parse_xml(file)
|
data/spec/android_lint_spec.rb
CHANGED
@@ -21,6 +21,7 @@ module Danger
|
|
21
21
|
|
22
22
|
it "Fails if severity is an unknown value" do
|
23
23
|
allow(@android_lint).to receive(:`).with("ls gradlew").and_return("gradlew")
|
24
|
+
allow(File).to receive(:exists?).with(@android_lint.report_file()).and_return(true)
|
24
25
|
|
25
26
|
@android_lint.severity = "Dummy"
|
26
27
|
@android_lint.lint
|
@@ -30,21 +31,46 @@ module Danger
|
|
30
31
|
|
31
32
|
it "Sets severity to 'Warning' if no severity param is provided" do
|
32
33
|
allow(@android_lint).to receive(:`).with("ls gradlew").and_return("gradlew")
|
33
|
-
allow(File).to receive(:exists?).with(
|
34
|
+
allow(File).to receive(:exists?).with(@android_lint.report_file).and_return(true)
|
34
35
|
|
35
36
|
fake_result = File.open("spec/fixtures/lint-result-with-everything.xml")
|
36
|
-
allow(File).to receive(:open).with(
|
37
|
+
allow(File).to receive(:open).with(@android_lint.report_file).and_return(fake_result)
|
37
38
|
|
38
39
|
@android_lint.lint
|
39
40
|
expect(@android_lint.severity).to eq("Warning")
|
40
41
|
end
|
41
42
|
|
43
|
+
it "Sets the report file to a default location if no param is provided" do
|
44
|
+
allow(@android_lint).to receive(:`).with("ls gradlew").and_return("gradlew")
|
45
|
+
allow(File).to receive(:exists?).with(@android_lint.report_file).and_return(true)
|
46
|
+
|
47
|
+
fake_result = File.open("spec/fixtures/lint-result-with-everything.xml")
|
48
|
+
allow(File).to receive(:open).with(@android_lint.report_file).and_return(fake_result)
|
49
|
+
|
50
|
+
@android_lint.lint
|
51
|
+
expect(@android_lint.report_file).to eq("app/build/reports/lint/lint-result.xml")
|
52
|
+
end
|
53
|
+
|
54
|
+
it "Sets the report_file to the user's preference in the Dangerfile'" do
|
55
|
+
allow(@android_lint).to receive(:`).with("ls gradlew").and_return("gradlew")
|
56
|
+
|
57
|
+
@android_lint.report_file = 'some/other/location/lint-result.xml'
|
58
|
+
|
59
|
+
fake_result = File.open("spec/fixtures/lint-result-with-everything.xml")
|
60
|
+
allow(File).to receive(:open).with(@android_lint.report_file).and_return(fake_result)
|
61
|
+
allow(File).to receive(:exists?).with(@android_lint.report_file).and_return(true)
|
62
|
+
|
63
|
+
@android_lint.lint
|
64
|
+
|
65
|
+
expect(@android_lint.report_file).to eq('some/other/location/lint-result.xml')
|
66
|
+
end
|
67
|
+
|
42
68
|
it "Fails if report file does not exist" do
|
43
69
|
allow(@android_lint).to receive(:`).with("ls gradlew").and_return("gradlew")
|
44
|
-
allow(File).to receive(:exists?).with(
|
70
|
+
allow(File).to receive(:exists?).with(@android_lint.report_file).and_return(false)
|
45
71
|
|
46
72
|
fake_result = File.open("spec/fixtures/lint-result-with-everything.xml")
|
47
|
-
allow(File).to receive(:open).with(
|
73
|
+
allow(File).to receive(:open).with(@android_lint.report_file).and_return(fake_result)
|
48
74
|
|
49
75
|
@android_lint.lint
|
50
76
|
|
@@ -55,12 +81,12 @@ module Danger
|
|
55
81
|
describe 'lint' do
|
56
82
|
before do
|
57
83
|
allow(@android_lint).to receive(:`).with("ls gradlew").and_return("gradlew")
|
58
|
-
allow(File).to receive(:exists?).with(
|
84
|
+
allow(File).to receive(:exists?).with(@android_lint.report_file).and_return(false)
|
59
85
|
end
|
60
86
|
|
61
87
|
it 'Prints markdown if issues were found' do
|
62
88
|
fake_result = File.open("spec/fixtures/lint-result-with-everything.xml")
|
63
|
-
allow(File).to receive(:open).with(
|
89
|
+
allow(File).to receive(:open).with(@android_lint.report_file).and_return(fake_result)
|
64
90
|
|
65
91
|
@android_lint.lint
|
66
92
|
|
@@ -79,7 +105,7 @@ module Danger
|
|
79
105
|
|
80
106
|
it 'Doesn`t print anything if no errors were found' do
|
81
107
|
fake_result = File.open("spec/fixtures/lint-result-empty.xml")
|
82
|
-
allow(File).to receive(:open).with(
|
108
|
+
allow(File).to receive(:open).with(@android_lint.report_file).and_return(fake_result)
|
83
109
|
|
84
110
|
@android_lint.lint
|
85
111
|
|
@@ -89,7 +115,7 @@ module Danger
|
|
89
115
|
|
90
116
|
it 'Doesn`t print anything if no errors were found' do
|
91
117
|
fake_result = File.open("spec/fixtures/lint-result-without-fatal.xml")
|
92
|
-
allow(File).to receive(:open).with(
|
118
|
+
allow(File).to receive(:open).with(@android_lint.report_file).and_return(fake_result)
|
93
119
|
|
94
120
|
@android_lint.severity = "Fatal"
|
95
121
|
@android_lint.lint
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: danger-android_lint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gustavo Barbosa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oga
|