danger-android_lint 0.0.10 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -2
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +25 -14
- data/README.md +11 -0
- data/lib/android_lint/gem_version.rb +1 -1
- data/lib/android_lint/plugin.rb +6 -1
- data/spec/android_lint_spec.rb +18 -1
- data/spec/fixtures/lint-result-with-everything.xml +30 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 79e5bfcae51d8156567b963bb7ac48ea67e0db8f2465c99746ffad9e922d4b12
|
4
|
+
data.tar.gz: b9e3527bba12cbd1d88713a6bd33ced049ad8edf630c2e5820eb8065fbe63267
|
2
5
|
SHA512:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f8811a723a32f71f8e505259f0df20b737cf7e8aa545e0b825ac8840f4411214be825d195f0ba40baad8b35f91ab6aa153ba915deaafdc2b9aa732ff57b4ff3
|
7
|
+
data.tar.gz: 43e252db44f9d9254315b70c640c37edc4f8ee2996f279ab3afb4131a5ed371fa1734887afe776f48f4fabc39f3979e7127e2de38d18034e2009f4335276c004
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
# 0.0.11
|
2
|
+
|
3
|
+
- Add `excluding_issue_ids` parameter to skip showing issues with the given IDs, e.g. "MissingTranslation" ([@petitJAM](https://github.com/petitJAM))
|
4
|
+
|
1
5
|
# 0.0.10
|
2
6
|
|
3
7
|
- Fix `filtering_lines` parameter to also apply to when `inline_mode` is `false` ([@petitJAM](https://github.com/petitJAM))
|
data/Gemfile.lock
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
danger-android_lint (0.0.
|
4
|
+
danger-android_lint (0.0.11)
|
5
5
|
danger-plugin-api (~> 1.0)
|
6
6
|
oga
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
10
10
|
specs:
|
11
|
-
addressable (2.
|
11
|
+
addressable (2.8.0)
|
12
12
|
public_suffix (>= 2.0.2, < 5.0)
|
13
13
|
ansi (1.5.0)
|
14
14
|
ast (2.4.2)
|
15
|
-
claide (1.0
|
15
|
+
claide (1.1.0)
|
16
16
|
claide-plugins (0.9.2)
|
17
17
|
cork
|
18
18
|
nap
|
@@ -21,7 +21,7 @@ GEM
|
|
21
21
|
colored2 (3.1.2)
|
22
22
|
cork (0.3.0)
|
23
23
|
colored2 (~> 3.1)
|
24
|
-
danger (8.
|
24
|
+
danger (8.5.0)
|
25
25
|
claide (~> 1.0)
|
26
26
|
claide-plugins (>= 0.9.2)
|
27
27
|
colored2 (~> 3.1)
|
@@ -37,24 +37,34 @@ GEM
|
|
37
37
|
danger-plugin-api (1.0.0)
|
38
38
|
danger (> 2.0)
|
39
39
|
diff-lcs (1.4.4)
|
40
|
-
faraday (1.
|
40
|
+
faraday (1.10.0)
|
41
41
|
faraday-em_http (~> 1.0)
|
42
42
|
faraday-em_synchrony (~> 1.0)
|
43
43
|
faraday-excon (~> 1.1)
|
44
|
+
faraday-httpclient (~> 1.0)
|
45
|
+
faraday-multipart (~> 1.0)
|
44
46
|
faraday-net_http (~> 1.0)
|
45
|
-
faraday-net_http_persistent (~> 1.
|
46
|
-
|
47
|
+
faraday-net_http_persistent (~> 1.0)
|
48
|
+
faraday-patron (~> 1.0)
|
49
|
+
faraday-rack (~> 1.0)
|
50
|
+
faraday-retry (~> 1.0)
|
47
51
|
ruby2_keywords (>= 0.0.4)
|
48
52
|
faraday-em_http (1.0.0)
|
49
53
|
faraday-em_synchrony (1.0.0)
|
50
54
|
faraday-excon (1.1.0)
|
51
55
|
faraday-http-cache (2.2.0)
|
52
56
|
faraday (>= 0.8)
|
57
|
+
faraday-httpclient (1.0.1)
|
58
|
+
faraday-multipart (1.0.3)
|
59
|
+
multipart-post (>= 1.2, < 3)
|
53
60
|
faraday-net_http (1.0.1)
|
54
|
-
faraday-net_http_persistent (1.
|
61
|
+
faraday-net_http_persistent (1.2.0)
|
62
|
+
faraday-patron (1.0.0)
|
63
|
+
faraday-rack (1.0.0)
|
64
|
+
faraday-retry (1.0.3)
|
55
65
|
ffi (1.15.3)
|
56
66
|
formatador (0.3.0)
|
57
|
-
git (1.
|
67
|
+
git (1.10.2)
|
58
68
|
rchardet (~> 1.8)
|
59
69
|
guard (2.17.0)
|
60
70
|
formatador (>= 0.2.4)
|
@@ -70,7 +80,7 @@ GEM
|
|
70
80
|
guard (~> 2.1)
|
71
81
|
guard-compat (~> 1.1)
|
72
82
|
rspec (>= 2.99.0, < 4.0)
|
73
|
-
kramdown (2.3.
|
83
|
+
kramdown (2.3.2)
|
74
84
|
rexml
|
75
85
|
kramdown-parser-gfm (1.1.0)
|
76
86
|
kramdown (~> 2.0)
|
@@ -86,7 +96,7 @@ GEM
|
|
86
96
|
notiffany (0.1.3)
|
87
97
|
nenv (~> 0.1)
|
88
98
|
shellany (~> 0.0)
|
89
|
-
octokit (4.
|
99
|
+
octokit (4.22.0)
|
90
100
|
faraday (>= 0.9)
|
91
101
|
sawyer (~> 0.8.0, >= 0.5.3)
|
92
102
|
oga (3.3)
|
@@ -133,12 +143,12 @@ GEM
|
|
133
143
|
ansi
|
134
144
|
ast
|
135
145
|
ruby-progressbar (1.11.0)
|
136
|
-
ruby2_keywords (0.0.
|
146
|
+
ruby2_keywords (0.0.5)
|
137
147
|
sawyer (0.8.2)
|
138
148
|
addressable (>= 2.3.5)
|
139
149
|
faraday (> 0.8, < 2.0)
|
140
150
|
shellany (0.0.1)
|
141
|
-
terminal-table (3.0.
|
151
|
+
terminal-table (3.0.2)
|
142
152
|
unicode-display_width (>= 1.1.1, < 3)
|
143
153
|
thor (1.1.0)
|
144
154
|
unicode-display_width (1.7.0)
|
@@ -146,6 +156,7 @@ GEM
|
|
146
156
|
|
147
157
|
PLATFORMS
|
148
158
|
universal-darwin-20
|
159
|
+
x86_64-darwin-21
|
149
160
|
x86_64-linux
|
150
161
|
|
151
162
|
DEPENDENCIES
|
@@ -161,4 +172,4 @@ DEPENDENCIES
|
|
161
172
|
yard (~> 0.9.11)
|
162
173
|
|
163
174
|
BUNDLED WITH
|
164
|
-
2.2.
|
175
|
+
2.2.22
|
data/README.md
CHANGED
@@ -92,6 +92,17 @@ android_lint.filtering_lines = true
|
|
92
92
|
android_lint.lint
|
93
93
|
```
|
94
94
|
|
95
|
+
#### Filter issues by ID
|
96
|
+
|
97
|
+
In some cases you may want to conditionally ignore specific lint warnings without fully disabling
|
98
|
+
them in your `lintOptions` configuration. To do that, you can pass a list of IDs to the
|
99
|
+
`excluding_issue_ids` parameter.
|
100
|
+
|
101
|
+
```rb
|
102
|
+
android_lint.excluding_issue_ids = ["MissingTranslation"]
|
103
|
+
android_lint.lint
|
104
|
+
```
|
105
|
+
|
95
106
|
#### Make Danger comment directly on the line instead of printing a Markdown table (GitHub only)
|
96
107
|
|
97
108
|
```rb
|
data/lib/android_lint/plugin.rb
CHANGED
@@ -84,9 +84,12 @@ module Danger
|
|
84
84
|
# Only show messages within changed files.
|
85
85
|
attr_accessor :filtering
|
86
86
|
|
87
|
-
# Only
|
87
|
+
# Only show messages for the modified lines.
|
88
88
|
attr_accessor :filtering_lines
|
89
89
|
|
90
|
+
# Only show messages for issues not in this list.
|
91
|
+
attr_accessor :excluding_issue_ids
|
92
|
+
|
90
93
|
# Calls lint task of your gradle project.
|
91
94
|
# It fails if `gradlew` cannot be found inside current directory.
|
92
95
|
# It fails if `severity` level is not a valid option.
|
@@ -167,6 +170,8 @@ module Danger
|
|
167
170
|
message = ""
|
168
171
|
|
169
172
|
results.each do |r|
|
173
|
+
issue_id = r.get('id')
|
174
|
+
next if excluding_issue_ids && excluding_issue_ids.include?(issue_id)
|
170
175
|
location = r.xpath('location').first
|
171
176
|
filename = location.get('file').gsub(dir, "")
|
172
177
|
next unless (!filtering && !filtering_lines) || (target_files.include? filename)
|
data/spec/android_lint_spec.rb
CHANGED
@@ -146,7 +146,7 @@ module Danger
|
|
146
146
|
expect(markdown).to be_nil
|
147
147
|
end
|
148
148
|
|
149
|
-
it 'Doesn`t print anything if no errors were found' do
|
149
|
+
it 'Doesn`t print anything if no errors were found at the set minimum severity level' do
|
150
150
|
fake_result = File.open("spec/fixtures/lint-result-without-fatal.xml")
|
151
151
|
allow(File).to receive(:open).with(@android_lint.report_file).and_return(fake_result)
|
152
152
|
|
@@ -188,6 +188,23 @@ module Danger
|
|
188
188
|
expect(warn).not_to include("Implicitly using the default locale is a common source of bugs: Use `String.format(Locale, ...)` instead")
|
189
189
|
end
|
190
190
|
|
191
|
+
describe 'excluding_issue_ids' do
|
192
|
+
before do
|
193
|
+
fake_result = File.open("spec/fixtures/lint-result-with-everything.xml")
|
194
|
+
allow(File).to receive(:open).with(@android_lint.report_file).and_return(fake_result)
|
195
|
+
end
|
196
|
+
|
197
|
+
it 'Does not print ignored issues' do
|
198
|
+
@android_lint.excluding_issue_ids = ["MissingTranslation", "RtlEnabled"]
|
199
|
+
@android_lint.lint
|
200
|
+
|
201
|
+
markdown = @android_lint.status_report[:markdowns].first.message
|
202
|
+
expect(markdown).to include("Implicitly using the default locale")
|
203
|
+
expect(markdown).not_to include("is not translated in")
|
204
|
+
expect(markdown).not_to include("The project references RTL attributes, but does not explicitly enable or disable RTL support with `android:supportsRtl` in the manifest")
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
191
208
|
describe "for a modified file" do
|
192
209
|
before do
|
193
210
|
allow(Dir).to receive(:pwd).and_return("/Users/shivampokhriyal/Documents/projects/Commcare/commcare-android")
|
@@ -61,4 +61,34 @@ If you want the methods to just perform ASCII replacement, for example to conver
|
|
61
61
|
column="16"/>
|
62
62
|
</issue>
|
63
63
|
|
64
|
+
<issue
|
65
|
+
id="MissingTranslation"
|
66
|
+
severity="Error"
|
67
|
+
message=""someStringResource" is not translated in "de" (German), "fi" (Finnish), "ru" (Russian), "sv" (Swedish), &q
|
68
|
+
uot;ko" (Korean), "pt" (Portuguese), "el" (Greek), "en" (English), "it" (Italian), "fr" (French), "es" (Spanish), "cs&q
|
69
|
+
uot; (Czech), "nb" (Norwegian Bokmål), "ja" (Japanese), "da" (Danish), "ca" (Catalan), "nl" (Dutch)"
|
70
|
+
category="Correctness:Messages"
|
71
|
+
priority="8"
|
72
|
+
summary="Incomplete translation"
|
73
|
+
explanation="If an application has more than one locale, then all the strings declared in one language should also be translated in all other languages.

If the string should **not** be translated, you can add the attribute `translatable="false"` on the `<string>` element, or you can define all your non-translatable strings in a resource file called `donottranslate.xml`. Or, you can ignore the issue with a `tools:ignore="MissingTranslation"` attribute.

You can tell lint (and other tools) which language is the default language in your `res/values/` folder by specifying `tools:locale="languageCode"` for the root `<resources>` element in your resource file. (The `tools` prefix refers to the namespace declaration `http://schemas.android.com/tools`.)"
|
74
|
+
errorLine1=" <string name="someStringResource">Hello this is a string resource.</string>"
|
75
|
+
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
76
|
+
<location
|
77
|
+
file="/Users/gustavo/Developer/app-android/app/src/main/res/values/strings.xml"
|
78
|
+
line="10"
|
79
|
+
column="13"/>
|
80
|
+
</issue>
|
81
|
+
|
82
|
+
<issue
|
83
|
+
id="RtlEnabled"
|
84
|
+
severity="Warning"
|
85
|
+
message="The project references RTL attributes, but does not explicitly enable or disable RTL support with `android:supportsRtl` in the manifest"
|
86
|
+
category="Internationalization:Bidirectional Text"
|
87
|
+
priority="3"
|
88
|
+
summary="Using RTL attributes without enabling RTL support"
|
89
|
+
explanation="To enable right-to-left support, when running on API 17 and higher, you must set the `android:supportsRtl` attribute in the manifest `<application>` element.

If you have started adding RTL attributes, but have not yet finished the migration, you can set the attribute to false to satisfy this lint check.">
|
90
|
+
<location
|
91
|
+
file="/Users/gustavo/Developer/app-android/app/src/main/AndroidManifest.xml"/>
|
92
|
+
</issue>
|
93
|
+
|
64
94
|
</issues>
|
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.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gustavo Barbosa
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oga
|
@@ -215,7 +215,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
215
215
|
- !ruby/object:Gem::Version
|
216
216
|
version: '0'
|
217
217
|
requirements: []
|
218
|
-
rubygems_version: 3.
|
218
|
+
rubygems_version: 3.2.22
|
219
219
|
signing_key:
|
220
220
|
specification_version: 4
|
221
221
|
summary: Lint files of a gradle based Android project. This is done using the Android's
|