jruby-lint 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -3
- data/History.txt +6 -0
- data/Rakefile +2 -2
- data/jruby-lint.gemspec +1 -1
- data/lib/jruby/lint/checkers/gemspec.rb +4 -0
- data/lib/jruby/lint/cli.rb +7 -0
- data/lib/jruby/lint/collectors.rb +1 -1
- data/lib/jruby/lint/project.rb +5 -1
- data/lib/jruby/lint/version.rb +1 -1
- data/spec/fixtures/C-Extension-Alternatives.html +192 -248
- data/spec/jruby/lint/cli_spec.rb +7 -0
- data/spec/jruby/lint/project_spec.rb +41 -35
- metadata +4 -6
data/Gemfile
CHANGED
@@ -3,10 +3,9 @@ source "http://rubygems.org"
|
|
3
3
|
# Specify your gem's dependencies in jruby-lint.gemspec
|
4
4
|
gemspec
|
5
5
|
|
6
|
-
|
7
|
-
gem 'childprocess', :git => "https://github.com/nicksieger/childprocess.git"
|
8
|
-
|
6
|
+
gem 'childprocess'
|
9
7
|
gem 'guard'
|
10
8
|
gem 'guard-rspec'
|
11
9
|
gem 'growl'
|
12
10
|
gem 'rb-fsevent'
|
11
|
+
gem 'rcov'
|
data/History.txt
CHANGED
data/Rakefile
CHANGED
@@ -13,8 +13,8 @@ require 'open-uri'
|
|
13
13
|
require 'net/https'
|
14
14
|
|
15
15
|
file "spec/fixtures/C-Extension-Alternatives.html" do |t|
|
16
|
-
require 'jruby/lint/
|
17
|
-
cache = JRuby::Lint::
|
16
|
+
require 'jruby/lint/libraries'
|
17
|
+
cache = JRuby::Lint::Libraries::Cache.new('spec/fixtures')
|
18
18
|
cache.fetch("C-Extension-Alternatives")
|
19
19
|
end
|
20
20
|
|
data/jruby-lint.gemspec
CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |s|
|
|
26
26
|
|
27
27
|
s.add_dependency "term-ansicolor"
|
28
28
|
s.add_dependency "jruby-openssl"
|
29
|
-
s.add_dependency "nokogiri", "
|
29
|
+
s.add_dependency "nokogiri", ">= 1.5.0.beta.4"
|
30
30
|
s.add_development_dependency "rake"
|
31
31
|
s.add_development_dependency "rspec", ">= 2.5"
|
32
32
|
s.add_development_dependency "rspec-given"
|
data/lib/jruby/lint/cli.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
module JRuby
|
2
2
|
module Lint
|
3
3
|
class CLI
|
4
|
+
attr_reader :options
|
5
|
+
|
4
6
|
def initialize(args)
|
5
7
|
process_options(args)
|
6
8
|
end
|
@@ -23,6 +25,11 @@ module JRuby
|
|
23
25
|
@options.eval << v
|
24
26
|
end
|
25
27
|
|
28
|
+
opts.on("-t", "--tag TAG", "Report findings tagged with TAG") do |v|
|
29
|
+
@options.tags ||= []
|
30
|
+
@options.tags << v
|
31
|
+
end
|
32
|
+
|
26
33
|
opts.on('--text', 'print report as text') do
|
27
34
|
@options.text = true
|
28
35
|
end
|
@@ -26,7 +26,7 @@ module JRuby::Lint
|
|
26
26
|
after_hooks << res if res.respond_to?(:call)
|
27
27
|
end
|
28
28
|
rescue => e
|
29
|
-
ch.collector.findings << Finding.new("Exception while traversing: #{e.message}",
|
29
|
+
ch.collector.findings << Finding.new("Exception while traversing: #{e.message}\n at #{e.backtrace.first}",
|
30
30
|
[:internal, :debug], node.position)
|
31
31
|
end
|
32
32
|
end
|
data/lib/jruby/lint/project.rb
CHANGED
@@ -8,7 +8,7 @@ module JRuby::Lint
|
|
8
8
|
attr_reader :collectors, :reporters, :findings, :files, :tags, :libraries
|
9
9
|
|
10
10
|
def initialize(options = OpenStruct.new)
|
11
|
-
@tags = DEFAULT_TAGS
|
11
|
+
@tags = DEFAULT_TAGS.dup
|
12
12
|
@collectors = []
|
13
13
|
@files = Set.new
|
14
14
|
|
@@ -17,6 +17,10 @@ module JRuby::Lint
|
|
17
17
|
@files += @collectors
|
18
18
|
end
|
19
19
|
|
20
|
+
if options.tags
|
21
|
+
@tags += options.tags
|
22
|
+
end
|
23
|
+
|
20
24
|
@sources = options.files || (options.eval ? [] : Dir['./**/*'])
|
21
25
|
load_collectors
|
22
26
|
load_reporters(options)
|
data/lib/jruby/lint/version.rb
CHANGED
@@ -1,207 +1,131 @@
|
|
1
1
|
|
2
|
-
|
3
2
|
|
4
|
-
|
5
3
|
|
6
4
|
<!DOCTYPE html>
|
7
5
|
<html>
|
8
6
|
<head>
|
9
7
|
<meta charset='utf-8'>
|
10
8
|
<meta http-equiv="X-UA-Compatible" content="chrome=1">
|
11
|
-
<script type="text/javascript">var NREUMQ=[];NREUMQ.push(["mark","firstbyte",new Date().getTime()]);</script>
|
12
9
|
<title>C Extension Alternatives - GitHub</title>
|
13
10
|
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub" />
|
14
11
|
<link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub" />
|
15
12
|
|
16
|
-
|
13
|
+
|
17
14
|
|
18
15
|
|
19
|
-
<
|
20
|
-
|
21
|
-
console = { log: function() {} }
|
22
|
-
</script>
|
23
|
-
<script type="text/javascript" charset="utf-8">
|
24
|
-
var GitHub = {
|
25
|
-
assetHost: 'https://a248.e.akamai.net/assets.github.com'
|
26
|
-
}
|
27
|
-
var github_user = null
|
28
|
-
|
29
|
-
</script>
|
30
|
-
<script src="https://a248.e.akamai.net/assets.github.com/javascripts/jquery/jquery-1.6.1.min.js" type="text/javascript"></script>
|
31
|
-
<script src="https://a248.e.akamai.net/assets.github.com/9a8d4d0be567a85129ca26f93f40eb76dcc8bfbb/javascripts/bundle_github.js" type="text/javascript"></script>
|
32
|
-
|
16
|
+
<meta content="authenticity_token" name="csrf-param" />
|
17
|
+
<meta content="8F14SYHdCaD2YBGDyw5eoTwEG/KLI7r6UW/uWiXNu+8=" name="csrf-token" />
|
33
18
|
|
19
|
+
<link href="https://a248.e.akamai.net/assets.github.com/stylesheets/bundles/github-9f2d0baa85681676c70f58b960aa88c4e806e346.css" media="screen" rel="stylesheet" type="text/css" />
|
34
20
|
|
35
|
-
<script type="text/javascript" charset="utf-8">
|
36
|
-
GitHub.spy({
|
37
|
-
repo: "jruby/jruby"
|
38
|
-
})
|
39
|
-
</script>
|
40
21
|
|
22
|
+
<script src="https://a248.e.akamai.net/assets.github.com/javascripts/bundles/jquery-2bdf48207f435863de9c5786265d27d992c7f6c0.js" type="text/javascript"></script>
|
23
|
+
<script src="https://a248.e.akamai.net/assets.github.com/javascripts/bundles/github-826c6f1fd72f47fab15f6fc2a01e5fb90daa9d56.js" type="text/javascript"></script>
|
41
24
|
|
42
|
-
<link href="https://github.com/jruby/jruby/commits/master.atom" rel="alternate" title="Recent Commits to jruby:master" type="application/atom+xml" />
|
43
|
-
<script src="https://a248.e.akamai.net/assets.github.com/9efa4f408d844eccca76d5687e85d5b519597f1f/javascripts/bundle_wiki.js" type="text/javascript"></script>
|
44
|
-
|
45
|
-
<script src="/javascripts/other/MathJax/MathJax.js" type="text/javascript">
|
46
|
-
if (window.location.protocol == "https:") {
|
47
|
-
MathJax.OutputJax.fontDir = "https://" + document.location.host + "/assets/MathJax/fonts"
|
48
|
-
} else {
|
49
|
-
MathJax.OutputJax.fontDir = "http://" + document.location.host + "/assets/MathJax/fonts"
|
50
|
-
}
|
51
|
-
MathJax.Hub.Config({
|
52
|
-
jax: ["input/TeX", "output/HTML-CSS"]
|
53
|
-
})
|
54
|
-
</script>
|
55
|
-
|
56
|
-
<meta name="description" content="jruby - JRuby, an implementation of Ruby on the JVM" />
|
57
|
-
<script type="text/javascript">
|
58
|
-
GitHub.nameWithOwner = GitHub.nameWithOwner || "jruby/jruby";
|
59
|
-
GitHub.currentRef = 'master';
|
60
|
-
GitHub.commitSHA = "24aad97afc34e25047c06298ea0f2559f90c14d2";
|
61
|
-
GitHub.currentPath = '';
|
62
|
-
GitHub.masterBranch = "master";
|
63
25
|
|
64
|
-
|
65
|
-
</script>
|
66
|
-
|
26
|
+
<script src="https://a248.e.akamai.net/assets.github.com/javascripts/bundles/wiki-a1e5edfd890a8f8d6e382865bd946f2f26bb3063.js" type="text/javascript"></script>
|
67
27
|
|
68
|
-
|
69
|
-
|
70
|
-
_gaq.push(['_setAccount', 'UA-3769691-2']);
|
71
|
-
_gaq.push(['_setDomainName', 'none']);
|
72
|
-
_gaq.push(['_trackPageview']);
|
73
|
-
_gaq.push(['_trackPageLoadTime']);
|
74
|
-
(function() {
|
75
|
-
var ga = document.createElement('script');
|
76
|
-
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
77
|
-
ga.setAttribute('async', 'true');
|
78
|
-
document.documentElement.firstChild.appendChild(ga);
|
79
|
-
})();
|
80
|
-
</script>
|
28
|
+
<meta name="description" content="jruby - JRuby, an implementation of Ruby on the JVM" />
|
29
|
+
<link href="https://github.com/jruby/jruby/commits/master.atom" rel="alternate" title="Recent Commits to jruby:master" type="application/atom+xml" />
|
81
30
|
|
82
|
-
|
83
31
|
</head>
|
84
32
|
|
85
|
-
|
86
33
|
|
87
|
-
<body class="logged_out
|
34
|
+
<body class="logged_out env-production ">
|
88
35
|
|
89
36
|
|
90
|
-
|
91
37
|
|
92
38
|
|
93
39
|
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
<img alt="
|
100
|
-
|
101
|
-
<img alt="
|
102
|
-
|
40
|
+
<div id="header" class="true clearfix">
|
41
|
+
<div class="container clearfix">
|
42
|
+
<a class="site-logo" href="https://github.com">
|
43
|
+
<!--[if IE]>
|
44
|
+
<img alt="GitHub" class="github-logo" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7.png?1323882799" />
|
45
|
+
<img alt="GitHub" class="github-logo-hover" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7-hover.png?1324325436" />
|
46
|
+
<![endif]-->
|
47
|
+
<img alt="GitHub" class="github-logo-4x" height="30" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7@4x.png?1323882799" />
|
48
|
+
<img alt="GitHub" class="github-logo-4x-hover" height="30" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7@4x-hover.png?1324325436" />
|
103
49
|
</a>
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
<li class="
|
113
|
-
|
114
|
-
|
115
|
-
<li class="blog"><a href="/blog">Blog</a></li>
|
116
|
-
|
117
|
-
<li class="login"><a href="/login?return_to=%2Fjruby%2Fjruby%2Fwiki%2FC-Extension-Alternatives">Login</a></li>
|
50
|
+
|
51
|
+
<!--
|
52
|
+
make sure to use fully qualified URLs here since this nav
|
53
|
+
is used on error pages on other domains
|
54
|
+
-->
|
55
|
+
<ul class="top-nav logged_out">
|
56
|
+
<li class="pricing"><a href="https://github.com/plans">Signup and Pricing</a></li>
|
57
|
+
<li class="explore"><a href="https://github.com/explore">Explore GitHub</a></li>
|
58
|
+
<li class="features"><a href="https://github.com/features">Features</a></li>
|
59
|
+
<li class="blog"><a href="https://github.com/blog">Blog</a></li>
|
60
|
+
<li class="login"><a href="https://github.com/login?return_to=%2Fjruby%2Fjruby%2Fwiki%2FC-Extension-Alternatives">Login</a></li>
|
118
61
|
</ul>
|
119
|
-
|
120
|
-
</div>
|
121
62
|
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
</div>
|
122
67
|
</div>
|
123
68
|
|
124
69
|
|
125
|
-
|
126
|
-
|
127
|
-
<div class="site">
|
128
|
-
<div class="pagehead repohead vis-public emptyrepohead shortdetails instapaper_ignore readability-menu">
|
129
70
|
|
130
|
-
|
71
|
+
<div class="site">
|
72
|
+
<div class="container">
|
73
|
+
<div class="pagehead repohead instapaper_ignore readability-menu">
|
131
74
|
|
132
|
-
|
133
|
-
<
|
134
|
-
<
|
135
|
-
|
75
|
+
|
76
|
+
<div class="title-actions-bar">
|
77
|
+
<h1>
|
78
|
+
<a href="/jruby">jruby</a> /
|
79
|
+
<strong><a href="/jruby/jruby" class="js-current-repository">jruby</a></strong>
|
80
|
+
</h1>
|
136
81
|
|
137
|
-
</h1>
|
138
82
|
|
139
|
-
|
140
|
-
<ul class="actions">
|
141
|
-
|
142
83
|
|
143
|
-
|
144
|
-
<li class="for-owner" style="display:none"><a href="/jruby/jruby/admin" class="minibutton btn-admin "><span><span class="icon"></span>Admin</span></a></li>
|
145
|
-
<li>
|
146
|
-
<a href="/jruby/jruby/toggle_watch" class="minibutton btn-watch " id="watch_button" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', 'a12af8eb75d6148a6d430d76ce52736db893dd3d'); f.appendChild(s);f.submit();return false;" style="display:none"><span><span class="icon"></span>Watch</span></a>
|
147
|
-
<a href="/jruby/jruby/toggle_watch" class="minibutton btn-watch " id="unwatch_button" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', 'a12af8eb75d6148a6d430d76ce52736db893dd3d'); f.appendChild(s);f.submit();return false;" style="display:none"><span><span class="icon"></span>Unwatch</span></a>
|
148
|
-
</li>
|
149
|
-
|
150
|
-
|
151
|
-
<li class="for-notforked" style="display:none"><a href="/jruby/jruby/fork" class="minibutton btn-fork " id="fork_button" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', 'a12af8eb75d6148a6d430d76ce52736db893dd3d'); f.appendChild(s);f.submit();return false;"><span><span class="icon"></span>Fork</span></a></li>
|
152
|
-
<li class="for-hasfork" style="display:none"><a href="#" class="minibutton btn-fork " id="your_fork_button"><span><span class="icon"></span>Your Fork</span></a></li>
|
153
|
-
|
154
84
|
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
85
|
+
<ul class="pagehead-actions">
|
86
|
+
|
87
|
+
|
88
|
+
<li><a href="/login?return_to=%2Fjruby%2Fjruby" class="minibutton btn-watch watch-button entice tooltipped leftwards" rel="nofollow" title="You must be logged in to use this feature"><span><span class="icon"></span>Watch</span></a></li>
|
89
|
+
<li><a href="/login?return_to=%2Fjruby%2Fjruby" class="minibutton btn-fork fork-button entice tooltipped leftwards" rel="nofollow" title="You must be logged in to use this feature"><span><span class="icon"></span>Fork</span></a></li>
|
90
|
+
|
91
|
+
|
159
92
|
<li class="repostats">
|
160
93
|
<ul class="repo-stats">
|
161
|
-
<li class="watchers
|
162
|
-
|
94
|
+
<li class="watchers ">
|
95
|
+
<a href="/jruby/jruby/watchers" title="Watchers" class="tooltipped downwards">
|
96
|
+
764
|
97
|
+
</a>
|
98
|
+
</li>
|
99
|
+
<li class="forks">
|
100
|
+
<a href="/jruby/jruby/network" title="Forks" class="tooltipped downwards">
|
101
|
+
163
|
102
|
+
</a>
|
103
|
+
</li>
|
163
104
|
</ul>
|
164
105
|
</li>
|
165
106
|
</ul>
|
166
107
|
|
167
|
-
|
108
|
+
</div>
|
109
|
+
|
110
|
+
|
168
111
|
|
169
|
-
|
170
112
|
<ul class="tabs">
|
171
|
-
<li><a href="/jruby/jruby" highlight="
|
172
|
-
<li><a href="/jruby/jruby/
|
173
|
-
<li><a href="/jruby/jruby/
|
174
|
-
<li><a href="/jruby/jruby/pulls" highlight="repo_pulls">Pull Requests (5)</a></li>
|
113
|
+
<li><a href="/jruby/jruby" highlight="repo_sourcerepo_downloadsrepo_commitsrepo_tagsrepo_branches">Code</a></li>
|
114
|
+
<li><a href="/jruby/jruby/network" highlight="repo_networkrepo_fork_queue">Network</a>
|
115
|
+
<li><a href="/jruby/jruby/pulls" highlight="repo_pulls">Pull Requests <span class='counter'>2</span></a></li>
|
175
116
|
|
176
|
-
|
177
117
|
|
178
|
-
|
118
|
+
<li><a href="/jruby/jruby/wiki" class="selected" highlight="repo_wiki">Wiki <span class='counter'>132</span></a></li>
|
179
119
|
|
180
|
-
|
181
|
-
|
182
|
-
<li><a href="/jruby/jruby/graphs" highlight="repo_graphs">Graphs</a></li>
|
120
|
+
<li><a href="/jruby/jruby/graphs" highlight="repo_graphsrepo_contributors">Stats & Graphs</a></li>
|
183
121
|
|
184
|
-
|
185
|
-
|
186
|
-
<li class="contextswitch nochoices">
|
187
|
-
<span class="toggle leftwards" >
|
188
|
-
<em>Branch:</em>
|
189
|
-
<code>master</code>
|
190
|
-
</span>
|
191
|
-
</li>
|
192
122
|
</ul>
|
193
123
|
|
194
|
-
<div style="display:none" id="pl-description"><p><em class="placeholder">click here to add a description</em></p></div>
|
195
|
-
<div style="display:none" id="pl-homepage"><p><em class="placeholder">click here to add a homepage</em></p></div>
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
124
|
|
201
125
|
|
202
126
|
|
203
127
|
<div class="subnav-bar">
|
204
|
-
<ul>
|
128
|
+
<ul class="subnav">
|
205
129
|
<li><a href="/jruby/jruby/wiki">Home</a></li>
|
206
130
|
<li><a href="/jruby/jruby/wiki/_pages">Pages</a></li>
|
207
131
|
<li><a href="/jruby/jruby/wiki/_history">Wiki History</a></li>
|
@@ -210,47 +134,20 @@
|
|
210
134
|
</div>
|
211
135
|
|
212
136
|
|
137
|
+
|
213
138
|
|
214
|
-
|
139
|
+
</div><!-- /.repohead -->
|
215
140
|
|
216
141
|
|
217
142
|
|
218
|
-
</div><!-- /.pagehead -->
|
219
143
|
|
220
|
-
|
221
|
-
|
222
|
-
<div id="repos">
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
<script type="text/javascript">
|
227
|
-
GitHub.downloadRepo = '/jruby/jruby/archives/master'
|
228
|
-
GitHub.revType = "master"
|
229
|
-
|
230
|
-
GitHub.repoName = "jruby"
|
231
|
-
GitHub.controllerName = "wiki"
|
232
|
-
GitHub.actionName = "show"
|
233
|
-
GitHub.currentAction = "wiki#show"
|
234
|
-
|
235
|
-
|
236
|
-
GitHub.loggedIn = false
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
</script>
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
</div>
|
246
|
-
<div class="flash-messages"></div>
|
247
144
|
|
248
145
|
|
249
146
|
<div id="wiki-wrapper" class="page">
|
250
147
|
<div id="head">
|
251
148
|
<h1 class="instapaper_title">C Extension Alternatives</h1>
|
252
|
-
<ul class="actions readability-extra">
|
253
|
-
|
149
|
+
<ul class="wiki-actions readability-extra">
|
150
|
+
<li class="gollum-minibutton"><a href="/jruby/jruby/wiki/C-Extension-Alternatives/_history"
|
254
151
|
class="action-page-history">
|
255
152
|
Page History
|
256
153
|
</a></li>
|
@@ -259,7 +156,7 @@
|
|
259
156
|
<div id="wiki-content">
|
260
157
|
<div class="wrap">
|
261
158
|
<div id="wiki-body" class="gollum-markdown-content instapaper_body">
|
262
|
-
<div
|
159
|
+
<div class="markdown-body">
|
263
160
|
<p>JRuby versions prior to 1.6 did not support Ruby C extensions, and even in 1.6 the support is still "in development" and considered experimental. This page lists common C extensions and non-C alternatives you can use to replace them.</p>
|
264
161
|
|
265
162
|
<ul>
|
@@ -275,67 +172,101 @@
|
|
275
172
|
<li><p><strong><a href="https://github.com/brianmario/yajl-ruby">yajl-ruby</a></strong> - Try <code>json</code> or <code>json_pure</code> instead. Unfortunately there is no known equivalent JSON stream parser.</p></li>
|
276
173
|
<li><p><strong><a href="https://github.com/mongodb/mongo-ruby-driver">bson_ext</a></strong> - <code>bson_ext</code> isn't used with JRuby. Instead, some native Java extensions are bundled with the <code>bson</code> gem.</p></li>
|
277
174
|
<li><p><strong><a href="http://www.ruby-doc.org/stdlib/libdoc/win32ole/rdoc/index.html">win32ole</a></strong> - Use the <code>jruby-win32ole</code> gem (preinstalled in JRuby's Windows installer).</p></li>
|
175
|
+
<li><p><strong><a href="http://curb.rubyforge.org/">curb</a></strong> - <a href="https://github.com/rcyrus/Rurl">Rurl</a> is an example how to implement <em>some</em> of curb's functionality using <a href="http://hc.apache.org/httpcomponents-client-ga/">Apache HttpClient</a></p></li>
|
176
|
+
<li><p><strong><a href="https://github.com/cowboyd/therubyracer">therubyracer</a></strong> - Try using <a href="https://github.com/cowboyd/therubyrhino">therubyrhino</a> instead.</p></li>
|
278
177
|
</ul><p>Please add to this list with your findings.</p>
|
279
178
|
|
280
179
|
<p><em>Note that the <a href="https://github.com/jruby/jruby-lint">JRuby-Lint</a> gem parses the contents of the list above to use for its Ruby gem checker. In order for JRuby-Lint to use the information, please adhere to the <code>gem_name - instructions</code> format.</em></p>
|
281
180
|
</div>
|
282
181
|
</div>
|
283
|
-
|
284
|
-
|
285
182
|
</div>
|
286
183
|
|
287
184
|
</div>
|
288
185
|
<div id="gollum-footer">
|
289
186
|
<p id="last-edit">
|
290
|
-
|
291
|
-
</p>
|
292
|
-
<p id="delete-link">
|
293
|
-
<a href="/jruby/jruby/wiki/C-Extension-Alternatives" onclick="if (confirm('Are you sure you want to delete this page?')) { var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var m = document.createElement('input'); m.setAttribute('type', 'hidden'); m.setAttribute('name', '_method'); m.setAttribute('value', 'delete'); f.appendChild(m);var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', 'a12af8eb75d6148a6d430d76ce52736db893dd3d'); f.appendChild(s);f.submit(); };return false;"><span>Delete this Page</span></a>
|
187
|
+
Last edited by declan, <time class="js-relative-date" datetime="2011-12-25T13:19:15-08:00" title="2011-12-25 13:19:15">December 25, 2011</time>
|
294
188
|
</p>
|
295
189
|
</div>
|
296
190
|
</div>
|
297
191
|
|
298
192
|
|
299
|
-
|
300
|
-
|
301
|
-
|
193
|
+
</div>
|
302
194
|
</div>
|
303
195
|
|
304
|
-
<div id="footer" class="clearfix">
|
305
|
-
<div class="site">
|
306
|
-
|
307
|
-
<div class="sponsor">
|
308
|
-
<a href="http://www.rackspace.com" class="logo">
|
309
|
-
<img alt="Dedicated Server" height="36" src="https://a248.e.akamai.net/assets.github.com/images/modules/footer/rackspace_logo.png?v2" width="38" />
|
310
|
-
</a>
|
311
|
-
Powered by the <a href="http://www.rackspace.com ">Dedicated
|
312
|
-
Servers</a> and<br/> <a href="http://www.rackspacecloud.com">Cloud
|
313
|
-
Computing</a> of Rackspace Hosting<span>®</span>
|
314
|
-
</div>
|
315
|
-
|
316
196
|
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
197
|
+
<!-- footer -->
|
198
|
+
<div id="footer" >
|
199
|
+
|
200
|
+
<div class="upper_footer">
|
201
|
+
<div class="container clearfix">
|
202
|
+
|
203
|
+
<!--[if IE]><h4 id="blacktocat_ie">GitHub Links</h4><![endif]-->
|
204
|
+
<![if !IE]><h4 id="blacktocat">GitHub Links</h4><![endif]>
|
205
|
+
|
206
|
+
<ul class="footer_nav">
|
207
|
+
<h4>GitHub</h4>
|
208
|
+
<li><a href="https://github.com/about">About</a></li>
|
209
|
+
<li><a href="https://github.com/blog">Blog</a></li>
|
210
|
+
<li><a href="https://github.com/features">Features</a></li>
|
211
|
+
<li><a href="https://github.com/contact">Contact & Support</a></li>
|
212
|
+
<li><a href="https://github.com/training">Training</a></li>
|
213
|
+
<li><a href="http://enterprise.github.com/">GitHub Enterprise</a></li>
|
214
|
+
<li><a href="http://status.github.com/">Site Status</a></li>
|
215
|
+
</ul>
|
216
|
+
|
217
|
+
<ul class="footer_nav">
|
218
|
+
<h4>Tools</h4>
|
219
|
+
<li><a href="http://get.gaug.es/">Gauges: Analyze web traffic</a></li>
|
220
|
+
<li><a href="http://speakerdeck.com">Speaker Deck: Presentations</a></li>
|
221
|
+
<li><a href="https://gist.github.com">Gist: Code snippets</a></li>
|
222
|
+
<li><a href="http://mac.github.com/">GitHub for Mac</a></li>
|
223
|
+
<li><a href="http://mobile.github.com/">Issues for iPhone</a></li>
|
224
|
+
<li><a href="http://jobs.github.com/">Job Board</a></li>
|
225
|
+
</ul>
|
226
|
+
|
227
|
+
<ul class="footer_nav">
|
228
|
+
<h4>Extras</h4>
|
229
|
+
<li><a href="http://shop.github.com/">GitHub Shop</a></li>
|
230
|
+
<li><a href="http://octodex.github.com/">The Octodex</a></li>
|
231
|
+
</ul>
|
232
|
+
|
233
|
+
<ul class="footer_nav">
|
234
|
+
<h4>Documentation</h4>
|
235
|
+
<li><a href="http://help.github.com/">GitHub Help</a></li>
|
236
|
+
<li><a href="http://developer.github.com/">Developer API</a></li>
|
237
|
+
<li><a href="http://github.github.com/github-flavored-markdown/">GitHub Flavored Markdown</a></li>
|
238
|
+
<li><a href="http://pages.github.com/">GitHub Pages</a></li>
|
239
|
+
</ul>
|
240
|
+
|
241
|
+
</div><!-- /.site -->
|
242
|
+
</div><!-- /.upper_footer -->
|
243
|
+
|
244
|
+
<div class="lower_footer">
|
245
|
+
<div class="container clearfix">
|
246
|
+
<!--[if IE]><div id="legal_ie"><![endif]-->
|
247
|
+
<![if !IE]><div id="legal"><![endif]>
|
248
|
+
<ul>
|
249
|
+
<li><a href="https://github.com/site/terms">Terms of Service</a></li>
|
250
|
+
<li><a href="https://github.com/site/privacy">Privacy</a></li>
|
333
251
|
<li><a href="https://github.com/security">Security</a></li>
|
334
|
-
|
252
|
+
</ul>
|
253
|
+
|
254
|
+
<p>© 2012 <span id="_rrt" title="0.07729s from fe3.rs.github.com">GitHub</span> Inc. All rights reserved.</p>
|
255
|
+
</div><!-- /#legal or /#legal_ie-->
|
256
|
+
|
257
|
+
<div class="sponsor">
|
258
|
+
<a href="http://www.rackspace.com" class="logo">
|
259
|
+
<img alt="Dedicated Server" height="36" src="https://a248.e.akamai.net/assets.github.com/images/modules/footer/rackspace_logo.png?v2" width="38" />
|
260
|
+
</a>
|
261
|
+
Powered by the <a href="http://www.rackspace.com ">Dedicated
|
262
|
+
Servers</a> and<br/> <a href="http://www.rackspacecloud.com">Cloud
|
263
|
+
Computing</a> of Rackspace Hosting<span>®</span>
|
335
264
|
</div>
|
336
|
-
|
265
|
+
</div><!-- /.site -->
|
266
|
+
</div><!-- /.lower_footer -->
|
267
|
+
|
268
|
+
</div><!-- /#footer -->
|
337
269
|
|
338
|
-
<script>window._auth_token = "a12af8eb75d6148a6d430d76ce52736db893dd3d"</script>
|
339
270
|
|
340
271
|
|
341
272
|
<div id="keyboard_shortcuts_pane" class="instapaper_ignore readability-extra" style="display:none">
|
@@ -358,19 +289,11 @@
|
|
358
289
|
<h3>Commit list</h3>
|
359
290
|
<dl class="keyboard-mappings">
|
360
291
|
<dt>j</dt>
|
361
|
-
<dd>Move
|
292
|
+
<dd>Move selection down</dd>
|
362
293
|
</dl>
|
363
294
|
<dl class="keyboard-mappings">
|
364
295
|
<dt>k</dt>
|
365
|
-
<dd>Move
|
366
|
-
</dl>
|
367
|
-
<dl class="keyboard-mappings">
|
368
|
-
<dt>t</dt>
|
369
|
-
<dd>Open tree</dd>
|
370
|
-
</dl>
|
371
|
-
<dl class="keyboard-mappings">
|
372
|
-
<dt>p</dt>
|
373
|
-
<dd>Open parent</dd>
|
296
|
+
<dd>Move selection up</dd>
|
374
297
|
</dl>
|
375
298
|
<dl class="keyboard-mappings">
|
376
299
|
<dt>c <em>or</em> o <em>or</em> enter</dt>
|
@@ -386,11 +309,11 @@
|
|
386
309
|
<h3>Pull request list</h3>
|
387
310
|
<dl class="keyboard-mappings">
|
388
311
|
<dt>j</dt>
|
389
|
-
<dd>Move
|
312
|
+
<dd>Move selection down</dd>
|
390
313
|
</dl>
|
391
314
|
<dl class="keyboard-mappings">
|
392
315
|
<dt>k</dt>
|
393
|
-
<dd>Move
|
316
|
+
<dd>Move selection up</dd>
|
394
317
|
</dl>
|
395
318
|
<dl class="keyboard-mappings">
|
396
319
|
<dt>o <em>or</em> enter</dt>
|
@@ -409,15 +332,15 @@
|
|
409
332
|
<div class="column first">
|
410
333
|
<dl class="keyboard-mappings">
|
411
334
|
<dt>j</dt>
|
412
|
-
<dd>Move
|
335
|
+
<dd>Move selection down</dd>
|
413
336
|
</dl>
|
414
337
|
<dl class="keyboard-mappings">
|
415
338
|
<dt>k</dt>
|
416
|
-
<dd>Move
|
339
|
+
<dd>Move selection up</dd>
|
417
340
|
</dl>
|
418
341
|
<dl class="keyboard-mappings">
|
419
342
|
<dt>x</dt>
|
420
|
-
<dd>Toggle
|
343
|
+
<dd>Toggle selection</dd>
|
421
344
|
</dl>
|
422
345
|
<dl class="keyboard-mappings">
|
423
346
|
<dt>o <em>or</em> enter</dt>
|
@@ -427,19 +350,19 @@
|
|
427
350
|
<div class="column middle">
|
428
351
|
<dl class="keyboard-mappings">
|
429
352
|
<dt>I</dt>
|
430
|
-
<dd>Mark
|
353
|
+
<dd>Mark selection as read</dd>
|
431
354
|
</dl>
|
432
355
|
<dl class="keyboard-mappings">
|
433
356
|
<dt>U</dt>
|
434
|
-
<dd>Mark
|
357
|
+
<dd>Mark selection as unread</dd>
|
435
358
|
</dl>
|
436
359
|
<dl class="keyboard-mappings">
|
437
360
|
<dt>e</dt>
|
438
|
-
<dd>Close
|
361
|
+
<dd>Close selection</dd>
|
439
362
|
</dl>
|
440
363
|
<dl class="keyboard-mappings">
|
441
364
|
<dt>y</dt>
|
442
|
-
<dd>Remove
|
365
|
+
<dd>Remove selection from view</dd>
|
443
366
|
</dl>
|
444
367
|
</div><!-- /.column.middle -->
|
445
368
|
<div class="column last">
|
@@ -467,6 +390,29 @@
|
|
467
390
|
</div>
|
468
391
|
</div>
|
469
392
|
|
393
|
+
<div style='display:none'>
|
394
|
+
<div class="rule"></div>
|
395
|
+
|
396
|
+
<h3>Issues Dashboard</h3>
|
397
|
+
|
398
|
+
<div class="columns threecols">
|
399
|
+
<div class="column first">
|
400
|
+
<dl class="keyboard-mappings">
|
401
|
+
<dt>j</dt>
|
402
|
+
<dd>Move selection down</dd>
|
403
|
+
</dl>
|
404
|
+
<dl class="keyboard-mappings">
|
405
|
+
<dt>k</dt>
|
406
|
+
<dd>Move selection up</dd>
|
407
|
+
</dl>
|
408
|
+
<dl class="keyboard-mappings">
|
409
|
+
<dt>o <em>or</em> enter</dt>
|
410
|
+
<dd>Open issue</dd>
|
411
|
+
</dl>
|
412
|
+
</div><!-- /.column.first -->
|
413
|
+
</div>
|
414
|
+
</div>
|
415
|
+
|
470
416
|
<div style='display:none'>
|
471
417
|
<div class="rule"></div>
|
472
418
|
|
@@ -528,6 +474,10 @@
|
|
528
474
|
<dt>l</dt>
|
529
475
|
<dd>Jump to line</dd>
|
530
476
|
</dl>
|
477
|
+
<dl class="keyboard-mappings">
|
478
|
+
<dt>w</dt>
|
479
|
+
<dd>Switch branch/tag</dd>
|
480
|
+
</dl>
|
531
481
|
<dl class="keyboard-mappings">
|
532
482
|
<dt>y</dt>
|
533
483
|
<dd>Expand URL to its canonical form</dd>
|
@@ -590,6 +540,7 @@ http://github.com - automatic!
|
|
590
540
|
<p>Blockquotes</p>
|
591
541
|
<pre>
|
592
542
|
As Kanye West said:
|
543
|
+
|
593
544
|
> We're living the future so
|
594
545
|
> the present is our past.
|
595
546
|
</pre>
|
@@ -629,24 +580,17 @@ I think you should use an
|
|
629
580
|
|
630
581
|
</div>
|
631
582
|
</div>
|
632
|
-
|
633
583
|
|
634
|
-
<!--[if IE 8]>
|
635
|
-
<script type="text/javascript" charset="utf-8">
|
636
|
-
$(document.body).addClass("ie8")
|
637
|
-
</script>
|
638
|
-
<![endif]-->
|
639
584
|
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
585
|
+
<div class="context-overlay"></div>
|
586
|
+
|
587
|
+
<div class="ajax-error-message">
|
588
|
+
<p><span class="icon"></span> Something went wrong with that request. Please try again. <a href="javascript:;" class="ajax-error-dismiss">Dismiss</a></p>
|
589
|
+
</div>
|
645
590
|
|
646
591
|
|
647
592
|
|
648
593
|
|
649
|
-
<script type="text/javascript">(function(){var d=document;var e=d.createElement("script");e.async=true;e.src="https://d1ros97qkrwjf5.cloudfront.net/14/eum/rum.js ";e.type="text/javascript";var s=d.getElementsByTagName("script")[0];s.parentNode.insertBefore(e,s);})();NREUMQ.push(["nrf2","beacon-1.newrelic.com","2f94e4d8c2",64799,"dw1bEBZcX1RWRhoRD18LGhcMXEQ=",0.0,118,new Date().getTime()])</script>
|
650
594
|
</body>
|
651
595
|
</html>
|
652
596
|
|
data/spec/jruby/lint/cli_spec.rb
CHANGED
@@ -2,6 +2,13 @@ require File.expand_path('../../../spec_helper', __FILE__)
|
|
2
2
|
require 'jruby/lint/cli'
|
3
3
|
|
4
4
|
describe JRuby::Lint::CLI do
|
5
|
+
context "with the tag option" do
|
6
|
+
Given(:cli) { JRuby::Lint::CLI.new(args) }
|
7
|
+
Given(:args) { ["--tag", "debug"]}
|
8
|
+
When { cli }
|
9
|
+
Then { cli.options.tags.should include("debug") }
|
10
|
+
end
|
11
|
+
|
5
12
|
context "when launched" do
|
6
13
|
Given(:command) { "ruby -I#{project_dir}/lib -S #{project_dir}/bin/jrlint #{args}" }
|
7
14
|
|
@@ -80,47 +80,53 @@ describe JRuby::Lint::Project do
|
|
80
80
|
Then { project.run }
|
81
81
|
end
|
82
82
|
|
83
|
-
context '
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
83
|
+
context 'initializing' do
|
84
|
+
Given(:options) { OpenStruct.new }
|
85
|
+
Given(:project) { in_current_dir { JRuby::Lint::Project.new(options) } }
|
86
|
+
When { STDOUT.stub!(:tty?).and_return(false) }
|
87
|
+
|
88
|
+
context 'tags' do
|
89
|
+
Given(:options) { OpenStruct.new(:tags => ["debug"]) }
|
90
|
+
Then { project.tags.should include("debug") }
|
91
|
+
Then { project.tags.should include(*JRuby::Lint::Project::DEFAULT_TAGS) }
|
89
92
|
end
|
90
93
|
|
91
|
-
context '
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
94
|
+
context 'reporters' do
|
95
|
+
context 'with html option' do
|
96
|
+
Given(:options) { OpenStruct.new(:html => 'report.html') }
|
97
|
+
Then { project.reporters.should have(1).reporter }
|
98
|
+
Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::Html) }
|
99
|
+
end
|
97
100
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
end
|
101
|
+
context 'with ansi option' do
|
102
|
+
Given(:options) { OpenStruct.new(:ansi => true) }
|
103
|
+
Then { project.reporters.should have(1).reporter }
|
104
|
+
Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::ANSIColor) }
|
105
|
+
end
|
104
106
|
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
end
|
107
|
+
context 'with text option' do
|
108
|
+
Given(:options) { OpenStruct.new(:text => true) }
|
109
|
+
Then { project.reporters.should have(1).reporter }
|
110
|
+
Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::Text) }
|
111
|
+
end
|
111
112
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
113
|
+
context 'with tty' do
|
114
|
+
Given { STDOUT.stub(:tty?).and_return(true) }
|
115
|
+
Then { project.reporters.should have(1).reporter }
|
116
|
+
Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::ANSIColor) }
|
117
|
+
end
|
117
118
|
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
119
|
+
context 'without any option' do
|
120
|
+
Then { project.reporters.should have(1).reporter }
|
121
|
+
Then { project.reporters.first.should be_an_instance_of(JRuby::Lint::Reporters::Text) }
|
122
|
+
end
|
123
|
+
|
124
|
+
context 'with several options' do
|
125
|
+
Given(:options) { OpenStruct.new(:ansi => true, :html => 'report.html') }
|
126
|
+
Then { project.reporters.should have(2).reporter }
|
127
|
+
Then { project.reporters.map(&:class).should include(JRuby::Lint::Reporters::ANSIColor) }
|
128
|
+
Then { project.reporters.map(&:class).should include(JRuby::Lint::Reporters::Html) }
|
129
|
+
end
|
124
130
|
end
|
125
131
|
end
|
126
132
|
end
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: jruby-lint
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.3.
|
5
|
+
version: 0.3.1
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Nick Sieger
|
@@ -10,8 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date:
|
14
|
-
default_executable:
|
13
|
+
date: 2012-01-13 00:00:00 Z
|
15
14
|
dependencies:
|
16
15
|
- !ruby/object:Gem::Dependency
|
17
16
|
name: term-ansicolor
|
@@ -40,7 +39,7 @@ dependencies:
|
|
40
39
|
version_requirements: &id003 !ruby/object:Gem::Requirement
|
41
40
|
none: false
|
42
41
|
requirements:
|
43
|
-
- - "
|
42
|
+
- - ">="
|
44
43
|
- !ruby/object:Gem::Version
|
45
44
|
version: 1.5.0.beta.4
|
46
45
|
requirement: *id003
|
@@ -151,7 +150,6 @@ files:
|
|
151
150
|
- spec/jruby/lint/reporters_spec.rb
|
152
151
|
- spec/jruby/lint/version_spec.rb
|
153
152
|
- spec/spec_helper.rb
|
154
|
-
has_rdoc: true
|
155
153
|
homepage: https://github.com/jruby/jruby-lint
|
156
154
|
licenses: []
|
157
155
|
|
@@ -181,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
179
|
requirements: []
|
182
180
|
|
183
181
|
rubyforge_project: jruby-lint
|
184
|
-
rubygems_version: 1.
|
182
|
+
rubygems_version: 1.8.9
|
185
183
|
signing_key:
|
186
184
|
specification_version: 3
|
187
185
|
summary: See how ready your Ruby code is to run on JRuby.
|