sunspot_solr-jts 2.2.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +12 -0
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +30 -0
  6. data/Gemfile +3 -0
  7. data/README.rdoc +30 -0
  8. data/Rakefile +1 -0
  9. data/bin/sunspot-installer +20 -0
  10. data/bin/sunspot-solr +80 -0
  11. data/lib/sunspot/solr/installer/config_installer.rb +53 -0
  12. data/lib/sunspot/solr/installer/task_helper.rb +13 -0
  13. data/lib/sunspot/solr/installer.rb +25 -0
  14. data/lib/sunspot/solr/java.rb +13 -0
  15. data/lib/sunspot/solr/railtie.rb +15 -0
  16. data/lib/sunspot/solr/server.rb +225 -0
  17. data/lib/sunspot/solr/tasks.rb +44 -0
  18. data/lib/sunspot/solr/version.rb +5 -0
  19. data/lib/sunspot_solr-jts.rb +5 -0
  20. data/lib/sunspot_solr.rb +1 -0
  21. data/solr/README.txt +42 -0
  22. data/solr/contexts/solr.xml +7 -0
  23. data/solr/etc/jetty.xml +167 -0
  24. data/solr/etc/webdefault.xml +527 -0
  25. data/solr/lib/jetty-continuation-8.1.8.v20121106.jar +0 -0
  26. data/solr/lib/jetty-deploy-8.1.8.v20121106.jar +0 -0
  27. data/solr/lib/jetty-http-8.1.8.v20121106.jar +0 -0
  28. data/solr/lib/jetty-io-8.1.8.v20121106.jar +0 -0
  29. data/solr/lib/jetty-jmx-8.1.8.v20121106.jar +0 -0
  30. data/solr/lib/jetty-security-8.1.8.v20121106.jar +0 -0
  31. data/solr/lib/jetty-server-8.1.8.v20121106.jar +0 -0
  32. data/solr/lib/jetty-servlet-8.1.8.v20121106.jar +0 -0
  33. data/solr/lib/jetty-util-8.1.8.v20121106.jar +0 -0
  34. data/solr/lib/jetty-webapp-8.1.8.v20121106.jar +0 -0
  35. data/solr/lib/jetty-xml-8.1.8.v20121106.jar +0 -0
  36. data/solr/lib/jsp-2.1/ant-1.6.5.jar +0 -0
  37. data/solr/lib/jsp-2.1/core-3.1.1.jar +0 -0
  38. data/solr/lib/jsp-2.1/jsp-2.1.jar +0 -0
  39. data/solr/lib/jsp-2.1/jsp-api-2.1.jar +0 -0
  40. data/solr/lib/servlet-api-3.0.jar +0 -0
  41. data/solr/solr/.gitignore +1 -0
  42. data/solr/solr/conf/admin-extra.html +31 -0
  43. data/solr/solr/conf/elevate.xml +36 -0
  44. data/solr/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  45. data/solr/solr/conf/protwords.txt +21 -0
  46. data/solr/solr/conf/schema.xml +275 -0
  47. data/solr/solr/conf/scripts.conf +24 -0
  48. data/solr/solr/conf/solrconfig.xml +680 -0
  49. data/solr/solr/conf/spellings.txt +2 -0
  50. data/solr/solr/conf/stopwords.txt +58 -0
  51. data/solr/solr/conf/synonyms.txt +31 -0
  52. data/solr/solr/conf/xslt/example.xsl +132 -0
  53. data/solr/solr/conf/xslt/example_atom.xsl +67 -0
  54. data/solr/solr/conf/xslt/example_rss.xsl +66 -0
  55. data/solr/solr/conf/xslt/luke.xsl +337 -0
  56. data/solr/solr/default/README.txt +54 -0
  57. data/solr/solr/solr.xml +8 -0
  58. data/solr/start.jar +0 -0
  59. data/solr/webapps/solr.war +0 -0
  60. data/spec/server_spec.rb +98 -0
  61. data/spec/spec_helper.rb +18 -0
  62. data/sunspot_solr-jts.gemspec +38 -0
  63. metadata +163 -0
@@ -0,0 +1,337 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ Licensed to the Apache Software Foundation (ASF) under one or more
4
+ contributor license agreements. See the NOTICE file distributed with
5
+ this work for additional information regarding copyright ownership.
6
+ The ASF licenses this file to You under the Apache License, Version 2.0
7
+ (the "License"); you may not use this file except in compliance with
8
+ the License. You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ -->
18
+
19
+
20
+ <!--
21
+ Display the luke request handler with graphs
22
+ -->
23
+ <xsl:stylesheet
24
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
25
+ xmlns="http://www.w3.org/1999/xhtml"
26
+ version="1.0"
27
+ >
28
+ <xsl:output
29
+ method="html"
30
+ encoding="UTF-8"
31
+ media-type="text/html; charset=UTF-8"
32
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
33
+ doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
34
+ />
35
+
36
+ <xsl:variable name="title">Solr Luke Request Handler Response</xsl:variable>
37
+
38
+ <xsl:template match="/">
39
+ <html xmlns="http://www.w3.org/1999/xhtml">
40
+ <head>
41
+ <link rel="stylesheet" type="text/css" href="solr-admin.css"/>
42
+ <link rel="icon" href="favicon.ico" type="image/ico"/>
43
+ <link rel="shortcut icon" href="favicon.ico" type="image/ico"/>
44
+ <title>
45
+ <xsl:value-of select="$title"/>
46
+ </title>
47
+ <xsl:call-template name="css"/>
48
+
49
+ </head>
50
+ <body>
51
+ <h1>
52
+ <xsl:value-of select="$title"/>
53
+ </h1>
54
+ <div class="doc">
55
+ <ul>
56
+ <xsl:if test="response/lst[@name='index']">
57
+ <li>
58
+ <a href="#index">Index Statistics</a>
59
+ </li>
60
+ </xsl:if>
61
+ <xsl:if test="response/lst[@name='fields']">
62
+ <li>
63
+ <a href="#fields">Field Statistics</a>
64
+ <ul>
65
+ <xsl:for-each select="response/lst[@name='fields']/lst">
66
+ <li>
67
+ <a href="#{@name}">
68
+ <xsl:value-of select="@name"/>
69
+ </a>
70
+ </li>
71
+ </xsl:for-each>
72
+ </ul>
73
+ </li>
74
+ </xsl:if>
75
+ <xsl:if test="response/lst[@name='doc']">
76
+ <li>
77
+ <a href="#doc">Document statistics</a>
78
+ </li>
79
+ </xsl:if>
80
+ </ul>
81
+ </div>
82
+ <xsl:if test="response/lst[@name='index']">
83
+ <h2><a name="index"/>Index Statistics</h2>
84
+ <xsl:apply-templates select="response/lst[@name='index']"/>
85
+ </xsl:if>
86
+ <xsl:if test="response/lst[@name='fields']">
87
+ <h2><a name="fields"/>Field Statistics</h2>
88
+ <xsl:apply-templates select="response/lst[@name='fields']"/>
89
+ </xsl:if>
90
+ <xsl:if test="response/lst[@name='doc']">
91
+ <h2><a name="doc"/>Document statistics</h2>
92
+ <xsl:apply-templates select="response/lst[@name='doc']"/>
93
+ </xsl:if>
94
+ </body>
95
+ </html>
96
+ </xsl:template>
97
+
98
+ <xsl:template match="lst">
99
+ <xsl:if test="parent::lst">
100
+ <tr>
101
+ <td colspan="2">
102
+ <div class="doc">
103
+ <xsl:call-template name="list"/>
104
+ </div>
105
+ </td>
106
+ </tr>
107
+ </xsl:if>
108
+ <xsl:if test="not(parent::lst)">
109
+ <div class="doc">
110
+ <xsl:call-template name="list"/>
111
+ </div>
112
+ </xsl:if>
113
+ </xsl:template>
114
+
115
+ <xsl:template name="list">
116
+ <xsl:if test="count(child::*)>0">
117
+ <table>
118
+ <thead>
119
+ <tr>
120
+ <th colspan="2">
121
+ <p>
122
+ <a name="{@name}"/>
123
+ </p>
124
+ <xsl:value-of select="@name"/>
125
+ </th>
126
+ </tr>
127
+ </thead>
128
+ <tbody>
129
+ <xsl:choose>
130
+ <xsl:when
131
+ test="@name='histogram'">
132
+ <tr>
133
+ <td colspan="2">
134
+ <xsl:call-template name="histogram"/>
135
+ </td>
136
+ </tr>
137
+ </xsl:when>
138
+ <xsl:otherwise>
139
+ <xsl:apply-templates/>
140
+ </xsl:otherwise>
141
+ </xsl:choose>
142
+ </tbody>
143
+ </table>
144
+ </xsl:if>
145
+ </xsl:template>
146
+
147
+ <xsl:template name="histogram">
148
+ <div class="doc">
149
+ <xsl:call-template name="barchart">
150
+ <xsl:with-param name="max_bar_width">50</xsl:with-param>
151
+ <xsl:with-param name="iwidth">800</xsl:with-param>
152
+ <xsl:with-param name="iheight">160</xsl:with-param>
153
+ <xsl:with-param name="fill">blue</xsl:with-param>
154
+ </xsl:call-template>
155
+ </div>
156
+ </xsl:template>
157
+
158
+ <xsl:template name="barchart">
159
+ <xsl:param name="max_bar_width"/>
160
+ <xsl:param name="iwidth"/>
161
+ <xsl:param name="iheight"/>
162
+ <xsl:param name="fill"/>
163
+ <xsl:variable name="max">
164
+ <xsl:for-each select="int">
165
+ <xsl:sort data-type="number" order="descending"/>
166
+ <xsl:if test="position()=1">
167
+ <xsl:value-of select="."/>
168
+ </xsl:if>
169
+ </xsl:for-each>
170
+ </xsl:variable>
171
+ <xsl:variable name="bars">
172
+ <xsl:value-of select="count(int)"/>
173
+ </xsl:variable>
174
+ <xsl:variable name="bar_width">
175
+ <xsl:choose>
176
+ <xsl:when test="$max_bar_width &lt; ($iwidth div $bars)">
177
+ <xsl:value-of select="$max_bar_width"/>
178
+ </xsl:when>
179
+ <xsl:otherwise>
180
+ <xsl:value-of select="$iwidth div $bars"/>
181
+ </xsl:otherwise>
182
+ </xsl:choose>
183
+ </xsl:variable>
184
+ <table class="histogram">
185
+ <tbody>
186
+ <tr>
187
+ <xsl:for-each select="int">
188
+ <td>
189
+ <xsl:value-of select="."/>
190
+ <div class="histogram">
191
+ <xsl:attribute name="style">background-color: <xsl:value-of select="$fill"/>; width: <xsl:value-of select="$bar_width"/>px; height: <xsl:value-of select="($iheight*number(.)) div $max"/>px;</xsl:attribute>
192
+ </div>
193
+ </td>
194
+ </xsl:for-each>
195
+ </tr>
196
+ <tr>
197
+ <xsl:for-each select="int">
198
+ <td>
199
+ <xsl:value-of select="@name"/>
200
+ </td>
201
+ </xsl:for-each>
202
+ </tr>
203
+ </tbody>
204
+ </table>
205
+ </xsl:template>
206
+
207
+ <xsl:template name="keyvalue">
208
+ <xsl:choose>
209
+ <xsl:when test="@name">
210
+ <tr>
211
+ <td class="name">
212
+ <xsl:value-of select="@name"/>
213
+ </td>
214
+ <td class="value">
215
+ <xsl:value-of select="."/>
216
+ </td>
217
+ </tr>
218
+ </xsl:when>
219
+ <xsl:otherwise>
220
+ <xsl:value-of select="."/>
221
+ </xsl:otherwise>
222
+ </xsl:choose>
223
+ </xsl:template>
224
+
225
+ <xsl:template match="int|bool|long|float|double|uuid|date">
226
+ <xsl:call-template name="keyvalue"/>
227
+ </xsl:template>
228
+
229
+ <xsl:template match="arr">
230
+ <tr>
231
+ <td class="name">
232
+ <xsl:value-of select="@name"/>
233
+ </td>
234
+ <td class="value">
235
+ <ul>
236
+ <xsl:for-each select="child::*">
237
+ <li>
238
+ <xsl:apply-templates/>
239
+ </li>
240
+ </xsl:for-each>
241
+ </ul>
242
+ </td>
243
+ </tr>
244
+ </xsl:template>
245
+
246
+ <xsl:template match="str">
247
+ <xsl:choose>
248
+ <xsl:when test="@name='schema' or @name='index' or @name='flags'">
249
+ <xsl:call-template name="schema"/>
250
+ </xsl:when>
251
+ <xsl:otherwise>
252
+ <xsl:call-template name="keyvalue"/>
253
+ </xsl:otherwise>
254
+ </xsl:choose>
255
+ </xsl:template>
256
+
257
+ <xsl:template name="schema">
258
+ <tr>
259
+ <td class="name">
260
+ <xsl:value-of select="@name"/>
261
+ </td>
262
+ <td class="value">
263
+ <xsl:if test="contains(.,'unstored')">
264
+ <xsl:value-of select="."/>
265
+ </xsl:if>
266
+ <xsl:if test="not(contains(.,'unstored'))">
267
+ <xsl:call-template name="infochar2string">
268
+ <xsl:with-param name="charList">
269
+ <xsl:value-of select="."/>
270
+ </xsl:with-param>
271
+ </xsl:call-template>
272
+ </xsl:if>
273
+ </td>
274
+ </tr>
275
+ </xsl:template>
276
+
277
+ <xsl:template name="infochar2string">
278
+ <xsl:param name="i">1</xsl:param>
279
+ <xsl:param name="charList"/>
280
+
281
+ <xsl:variable name="char">
282
+ <xsl:value-of select="substring($charList,$i,1)"/>
283
+ </xsl:variable>
284
+ <xsl:choose>
285
+ <xsl:when test="$char='I'">
286
+ <xsl:value-of select="/response/lst[@name='info']/lst/str[@name='I']"/> - </xsl:when>
287
+ <xsl:when test="$char='T'">
288
+ <xsl:value-of select="/response/lst[@name='info']/lst/str[@name='T']"/> - </xsl:when>
289
+ <xsl:when test="$char='S'">
290
+ <xsl:value-of select="/response/lst[@name='info']/lst/str[@name='S']"/> - </xsl:when>
291
+ <xsl:when test="$char='M'">
292
+ <xsl:value-of select="/response/lst[@name='info']/lst/str[@name='M']"/> - </xsl:when>
293
+ <xsl:when test="$char='V'">
294
+ <xsl:value-of select="/response/lst[@name='info']/lst/str[@name='V']"/> - </xsl:when>
295
+ <xsl:when test="$char='o'">
296
+ <xsl:value-of select="/response/lst[@name='info']/lst/str[@name='o']"/> - </xsl:when>
297
+ <xsl:when test="$char='p'">
298
+ <xsl:value-of select="/response/lst[@name='info']/lst/str[@name='p']"/> - </xsl:when>
299
+ <xsl:when test="$char='O'">
300
+ <xsl:value-of select="/response/lst[@name='info']/lst/str[@name='O']"/> - </xsl:when>
301
+ <xsl:when test="$char='L'">
302
+ <xsl:value-of select="/response/lst[@name='info']/lst/str[@name='L']"/> - </xsl:when>
303
+ <xsl:when test="$char='B'">
304
+ <xsl:value-of select="/response/lst[@name='info']/lst/str[@name='B']"/> - </xsl:when>
305
+ <xsl:when test="$char='C'">
306
+ <xsl:value-of select="/response/lst[@name='info']/lst/str[@name='C']"/> - </xsl:when>
307
+ <xsl:when test="$char='f'">
308
+ <xsl:value-of select="/response/lst[@name='info']/lst/str[@name='f']"/> - </xsl:when>
309
+ <xsl:when test="$char='l'">
310
+ <xsl:value-of select="/response/lst[@name='info']/lst/str[@name='l']"/> -
311
+ </xsl:when>
312
+ </xsl:choose>
313
+
314
+ <xsl:if test="not($i>=string-length($charList))">
315
+ <xsl:call-template name="infochar2string">
316
+ <xsl:with-param name="i">
317
+ <xsl:value-of select="$i+1"/>
318
+ </xsl:with-param>
319
+ <xsl:with-param name="charList">
320
+ <xsl:value-of select="$charList"/>
321
+ </xsl:with-param>
322
+ </xsl:call-template>
323
+ </xsl:if>
324
+ </xsl:template>
325
+ <xsl:template name="css">
326
+ <style type="text/css">
327
+ <![CDATA[
328
+ td.name {font-style: italic; font-size:80%; }
329
+ .doc { margin: 0.5em; border: solid grey 1px; }
330
+ .exp { display: none; font-family: monospace; white-space: pre; }
331
+ div.histogram { background: none repeat scroll 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;}
332
+ table.histogram { width: auto; vertical-align: bottom; }
333
+ table.histogram td, table.histogram th { text-align: center; vertical-align: bottom; border-bottom: 1px solid #ff9933; width: auto; }
334
+ ]]>
335
+ </style>
336
+ </xsl:template>
337
+ </xsl:stylesheet>
@@ -0,0 +1,54 @@
1
+ # Licensed to the Apache Software Foundation (ASF) under one or more
2
+ # contributor license agreements. See the NOTICE file distributed with
3
+ # this work for additional information regarding copyright ownership.
4
+ # The ASF licenses this file to You under the Apache License, Version 2.0
5
+ # (the "License"); you may not use this file except in compliance with
6
+ # the License. You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+
17
+ Example "Solr Home" Directory
18
+ =============================
19
+
20
+ This directory is provided as an example of what a "Solr Home" directory
21
+ should look like.
22
+
23
+ It's not strictly necessary that you copy all of the files in this
24
+ directory when setting up a new instance of Solr, but it is recommended.
25
+
26
+
27
+ Basic Directory Structure
28
+ -------------------------
29
+
30
+ The Solr Home directory typically contains the following subdirectories...
31
+
32
+ conf/
33
+ This directory is mandatory and must contain your solrconfig.xml
34
+ and schema.xml. Any other optional configuration files would also
35
+ be kept here.
36
+
37
+ data/
38
+ This directory is the default location where Solr will keep your
39
+ index, and is used by the replication scripts for dealing with
40
+ snapshots. You can override this location in the solrconfig.xml
41
+ and scripts.conf files. Solr will create this directory if it
42
+ does not already exist.
43
+
44
+ lib/
45
+ This directory is optional. If it exists, Solr will load any Jars
46
+ found in this directory and use them to resolve any "plugins"
47
+ specified in your solrconfig.xml or schema.xml (ie: Analyzers,
48
+ Request Handlers, etc...). Alternatively you can use the <lib>
49
+ syntax in solrconfig.xml to direct Solr to your plugins. See the
50
+ example solrconfig.xml file for details.
51
+
52
+ bin/
53
+ This directory is optional. It is the default location used for
54
+ keeping the replication scripts.
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <solr persistent="false">
3
+ <cores adminPath="/admin/cores" host="${host:}" hostPort="${jetty.port:}">
4
+ <core name="default" instanceDir="." dataDir="default/data"/>
5
+ <core name="development" instanceDir="." dataDir="development/data"/>
6
+ <core name="test" instanceDir="." dataDir="test/data"/>
7
+ </cores>
8
+ </solr>
data/solr/start.jar ADDED
Binary file
Binary file
@@ -0,0 +1,98 @@
1
+ require File.expand_path('spec_helper', File.dirname(__FILE__))
2
+ require 'tempfile'
3
+
4
+ describe Sunspot::Solr::Server do
5
+ SUNSPOT_START_JAR = File.expand_path(
6
+ File.join(File.dirname(__FILE__), '..', '..', 'solr', 'start.jar')
7
+ )
8
+
9
+ before :each do
10
+ @server = Sunspot::Solr::Server.new
11
+ end
12
+
13
+ it 'runs server in current process' do
14
+ @server.should_not_receive(:fork)
15
+ @server.should_receive(:exec).with(/java .*-jar start.jar/)
16
+ @server.run
17
+ end
18
+
19
+ it 'runs Java with min memory' do
20
+ @server.min_memory = 1024
21
+ @server.should_receive(:exec).with(/-Xms1024/)
22
+ @server.run
23
+ end
24
+
25
+ it 'runs Java with max memory' do
26
+ @server.max_memory = 2048
27
+ @server.should_receive(:exec).with(/-Xmx2048/)
28
+ @server.run
29
+ end
30
+
31
+ it 'runs Jetty with specified port' do
32
+ @server.port = 8981
33
+ @server.should_receive(:exec).with(/-Djetty\.port=8981/)
34
+ @server.run
35
+ end
36
+
37
+ it 'runs Solr with specified data dir' do
38
+ @server.solr_data_dir = '/tmp/var/solr/data'
39
+ @server.should_receive(:exec).with(%r(-Dsolr\.data\.dir=/tmp/var/solr/data))
40
+ @server.run
41
+ end
42
+
43
+ it 'runs Solr with specified Solr home' do
44
+ @server.solr_home = '/tmp/var/solr'
45
+ @server.should_receive(:exec).with(%r(-Dsolr\.solr\.home=/tmp/var/solr))
46
+ @server.run
47
+ end
48
+
49
+ it 'runs Solr with specified Solr jar' do
50
+ @server.solr_jar = SUNSPOT_START_JAR
51
+ FileUtils.should_receive(:cd).with(File.dirname(SUNSPOT_START_JAR))
52
+ @server.run
53
+ end
54
+
55
+ it 'raises an error if java is missing' do
56
+ Sunspot::Solr::Java.stub(:installed? => false)
57
+ expect {
58
+ Sunspot::Solr::Server.new
59
+ }.to raise_error(Sunspot::Solr::Server::JavaMissing)
60
+ end
61
+
62
+ describe 'with logging' do
63
+ before :each do
64
+ @server.log_level = 'info'
65
+ @server.log_file = 'log/sunspot-development.log'
66
+ Tempfile.should_receive(:new).with('logging.properties').and_return(@tempfile = StringIO.new)
67
+ @tempfile.should_receive(:flush)
68
+ @tempfile.should_receive(:close)
69
+ @tempfile.stub(:path).and_return('/tmp/logging.properties.12345')
70
+ @server.stub(:exec)
71
+ end
72
+
73
+ it 'runs Solr with logging properties file' do
74
+ @server.should_receive(:exec).with(%r(-Djava\.util\.logging\.config\.file=/tmp/logging\.properties\.12345))
75
+ @server.run
76
+ end
77
+
78
+ it 'sets logging level' do
79
+ @server.run
80
+ @tempfile.string.should =~ /^java\.util\.logging\.FileHandler\.level *= *INFO$/
81
+ end
82
+
83
+ it 'sets handler' do
84
+ @server.run
85
+ @tempfile.string.should =~ /^handlers *= *java.util.logging.FileHandler$/
86
+ end
87
+
88
+ it 'sets formatter' do
89
+ @server.run
90
+ @tempfile.string.should =~ /^java\.util\.logging\.FileHandler\.formatter *= *java\.util\.logging\.SimpleFormatter$/
91
+ end
92
+
93
+ it 'sets log file' do
94
+ @server.run
95
+ @tempfile.string.should =~ /^java\.util\.logging\.FileHandler\.pattern *= *log\/sunspot-development\.log$/
96
+ end
97
+ end
98
+ end
@@ -0,0 +1,18 @@
1
+ begin
2
+ require 'rspec'
3
+ rescue LoadError => e
4
+ require 'spec'
5
+ end
6
+
7
+ require 'sunspot_solr-jts'
8
+
9
+ rspec =
10
+ begin
11
+ RSpec
12
+ rescue NameError, ArgumentError
13
+ Spec::Runner
14
+ end
15
+
16
+ rspec.configure do |config|
17
+ # Maybe later...
18
+ end
@@ -0,0 +1,38 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+
4
+ $:.unshift(lib) unless $:.include?(lib)
5
+
6
+ require 'sunspot/solr/version'
7
+
8
+ Gem::Specification.new do |s|
9
+ s.name = "sunspot_solr-jts"
10
+ s.version = Sunspot::Solr::VERSION
11
+ s.platform = Gem::Platform::RUBY
12
+ s.authors = ['Mat Brown', 'Peer Allan', 'Dmitriy Dzema', 'Benjamin Krause', 'Marcel de Graaf', 'Brandon Keepers', 'Peter Berkenbosch',
13
+ 'Brian Atkinson', 'Tom Coleman', 'Matt Mitchell', 'Nathan Beyer', 'Kieran Topping', 'Nicolas Braem', 'Jeremy Ashkenas',
14
+ 'Dylan Vaughn', 'Brian Durand', 'Sam Granieri', 'Nick Zadrozny', 'Jason Ronallo']
15
+ s.email = ["cz@aegisnet.de"]
16
+ s.homepage = 'https://github.com/absolventa/sunspot_solr-jts'
17
+ s.summary = 'Bundled Solr distribution with JTS for Sunspot'
18
+ s.license = 'MIT'
19
+ s.description = <<-TEXT
20
+ Sunspot::Solr provides a bundled Solr distribution for use with Sunspot.
21
+ Typical deployment environments will require more configuration, but this
22
+ distribution is well suited to development and testing.
23
+ TEXT
24
+
25
+ s.rubyforge_project = "sunspot_solr-jts"
26
+
27
+ s.files = `git ls-files`.split("\n")
28
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
29
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
30
+ s.require_paths = ["lib"]
31
+
32
+ s.add_development_dependency 'rspec', '~> 1.1'
33
+ s.add_development_dependency "rake", '>= 10'
34
+
35
+ s.rdoc_options << '--webcvs=http://github.com/outoftime/sunspot/tree/master/%s' <<
36
+ '--title' << 'Sunspot-Solr - Bundled Solr distribution for Sunspot - API Documentation' <<
37
+ '--main' << 'README.rdoc'
38
+ end