culturecode-sunspot_solr 2.0.0.pre

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 (44) hide show
  1. data/Gemfile +3 -0
  2. data/README.rdoc +24 -0
  3. data/bin/sunspot-installer +20 -0
  4. data/bin/sunspot-solr +80 -0
  5. data/lib/sunspot/solr/installer.rb +25 -0
  6. data/lib/sunspot/solr/installer/config_installer.rb +46 -0
  7. data/lib/sunspot/solr/installer/task_helper.rb +13 -0
  8. data/lib/sunspot/solr/java.rb +10 -0
  9. data/lib/sunspot/solr/railtie.rb +15 -0
  10. data/lib/sunspot/solr/server.rb +223 -0
  11. data/lib/sunspot/solr/tasks.rb +49 -0
  12. data/lib/sunspot_solr.rb +5 -0
  13. data/solr/README.txt +42 -0
  14. data/solr/etc/jetty.xml +219 -0
  15. data/solr/etc/webdefault.xml +379 -0
  16. data/solr/lib/jetty-6.1.26-patched-JETTY-1340.jar +0 -0
  17. data/solr/lib/jetty-util-6.1.26-patched-JETTY-1340.jar +0 -0
  18. data/solr/lib/jsp-2.1/ant-1.6.5.jar +0 -0
  19. data/solr/lib/jsp-2.1/core-3.1.1.jar +0 -0
  20. data/solr/lib/jsp-2.1/jsp-2.1.jar +0 -0
  21. data/solr/lib/jsp-2.1/jsp-api-2.1.jar +0 -0
  22. data/solr/lib/servlet-api-2.5-20081211.jar +0 -0
  23. data/solr/solr/.gitignore +1 -0
  24. data/solr/solr/README.txt +54 -0
  25. data/solr/solr/conf/admin-extra.html +31 -0
  26. data/solr/solr/conf/elevate.xml +36 -0
  27. data/solr/solr/conf/mapping-ISOLatin1Accent.txt +246 -0
  28. data/solr/solr/conf/protwords.txt +21 -0
  29. data/solr/solr/conf/schema.xml +250 -0
  30. data/solr/solr/conf/scripts.conf +24 -0
  31. data/solr/solr/conf/solrconfig.xml +934 -0
  32. data/solr/solr/conf/spellings.txt +2 -0
  33. data/solr/solr/conf/stopwords.txt +58 -0
  34. data/solr/solr/conf/synonyms.txt +31 -0
  35. data/solr/solr/conf/xslt/example.xsl +132 -0
  36. data/solr/solr/conf/xslt/example_atom.xsl +67 -0
  37. data/solr/solr/conf/xslt/example_rss.xsl +66 -0
  38. data/solr/solr/conf/xslt/luke.xsl +337 -0
  39. data/solr/start.jar +0 -0
  40. data/solr/webapps/solr.war +0 -0
  41. data/spec/server_spec.rb +98 -0
  42. data/spec/spec_helper.rb +18 -0
  43. data/sunspot_solr.gemspec +37 -0
  44. metadata +139 -0
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'
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,37 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../../sunspot/lib/', __FILE__)
3
+
4
+ $:.unshift(lib) unless $:.include?(lib)
5
+
6
+ require 'sunspot/version'
7
+
8
+ Gem::Specification.new do |s|
9
+ s.name = "culturecode-sunspot_solr"
10
+ s.version = Sunspot::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 = ["mat@patch.com"]
16
+ s.homepage = 'https://github.com/outoftime/sunspot/tree/master/sunspot_solr'
17
+ s.summary = 'Bundled Solr distribution for Sunspot'
18
+ s.description = <<-TEXT
19
+ Sunspot::Solr provides a bundled Solr distribution for use with Sunspot.
20
+ Typical deployment environments will require more configuration, but this
21
+ distribution is well suited to development and testing.
22
+ TEXT
23
+
24
+ s.rubyforge_project = "sunspot"
25
+
26
+ s.files = `git ls-files`.split("\n")
27
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
28
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
29
+ s.require_paths = ["lib"]
30
+
31
+ s.add_development_dependency 'rspec', '~> 1.1'
32
+ s.add_development_dependency 'hanna'
33
+
34
+ s.rdoc_options << '--webcvs=http://github.com/outoftime/sunspot/tree/master/%s' <<
35
+ '--title' << 'Sunspot-Solr - Bundled Solr distribution for Sunspot - API Documentation' <<
36
+ '--main' << 'README.rdoc'
37
+ end
metadata ADDED
@@ -0,0 +1,139 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: culturecode-sunspot_solr
3
+ version: !ruby/object:Gem::Version
4
+ version: 2.0.0.pre
5
+ prerelease: 6
6
+ platform: ruby
7
+ authors:
8
+ - Mat Brown
9
+ - Peer Allan
10
+ - Dmitriy Dzema
11
+ - Benjamin Krause
12
+ - Marcel de Graaf
13
+ - Brandon Keepers
14
+ - Peter Berkenbosch
15
+ - Brian Atkinson
16
+ - Tom Coleman
17
+ - Matt Mitchell
18
+ - Nathan Beyer
19
+ - Kieran Topping
20
+ - Nicolas Braem
21
+ - Jeremy Ashkenas
22
+ - Dylan Vaughn
23
+ - Brian Durand
24
+ - Sam Granieri
25
+ - Nick Zadrozny
26
+ - Jason Ronallo
27
+ autorequire:
28
+ bindir: bin
29
+ cert_chain: []
30
+ date: 2012-06-22 00:00:00.000000000 Z
31
+ dependencies:
32
+ - !ruby/object:Gem::Dependency
33
+ name: rspec
34
+ requirement: &70216689247440 !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ~>
38
+ - !ruby/object:Gem::Version
39
+ version: '1.1'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: *70216689247440
43
+ - !ruby/object:Gem::Dependency
44
+ name: hanna
45
+ requirement: &70216689266320 !ruby/object:Gem::Requirement
46
+ none: false
47
+ requirements:
48
+ - - ! '>='
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
51
+ type: :development
52
+ prerelease: false
53
+ version_requirements: *70216689266320
54
+ description: ! " Sunspot::Solr provides a bundled Solr distribution for use with
55
+ Sunspot.\n Typical deployment environments will require more configuration, but
56
+ this\n distribution is well suited to development and testing.\n"
57
+ email:
58
+ - mat@patch.com
59
+ executables:
60
+ - sunspot-installer
61
+ - sunspot-solr
62
+ extensions: []
63
+ extra_rdoc_files: []
64
+ files:
65
+ - Gemfile
66
+ - README.rdoc
67
+ - bin/sunspot-installer
68
+ - bin/sunspot-solr
69
+ - lib/sunspot/solr/installer.rb
70
+ - lib/sunspot/solr/installer/config_installer.rb
71
+ - lib/sunspot/solr/installer/task_helper.rb
72
+ - lib/sunspot/solr/java.rb
73
+ - lib/sunspot/solr/railtie.rb
74
+ - lib/sunspot/solr/server.rb
75
+ - lib/sunspot/solr/tasks.rb
76
+ - lib/sunspot_solr.rb
77
+ - solr/README.txt
78
+ - solr/etc/jetty.xml
79
+ - solr/etc/webdefault.xml
80
+ - solr/lib/jetty-6.1.26-patched-JETTY-1340.jar
81
+ - solr/lib/jetty-util-6.1.26-patched-JETTY-1340.jar
82
+ - solr/lib/jsp-2.1/ant-1.6.5.jar
83
+ - solr/lib/jsp-2.1/core-3.1.1.jar
84
+ - solr/lib/jsp-2.1/jsp-2.1.jar
85
+ - solr/lib/jsp-2.1/jsp-api-2.1.jar
86
+ - solr/lib/servlet-api-2.5-20081211.jar
87
+ - solr/solr/.gitignore
88
+ - solr/solr/README.txt
89
+ - solr/solr/conf/admin-extra.html
90
+ - solr/solr/conf/elevate.xml
91
+ - solr/solr/conf/mapping-ISOLatin1Accent.txt
92
+ - solr/solr/conf/protwords.txt
93
+ - solr/solr/conf/schema.xml
94
+ - solr/solr/conf/scripts.conf
95
+ - solr/solr/conf/solrconfig.xml
96
+ - solr/solr/conf/spellings.txt
97
+ - solr/solr/conf/stopwords.txt
98
+ - solr/solr/conf/synonyms.txt
99
+ - solr/solr/conf/xslt/example.xsl
100
+ - solr/solr/conf/xslt/example_atom.xsl
101
+ - solr/solr/conf/xslt/example_rss.xsl
102
+ - solr/solr/conf/xslt/luke.xsl
103
+ - solr/start.jar
104
+ - solr/webapps/solr.war
105
+ - spec/server_spec.rb
106
+ - spec/spec_helper.rb
107
+ - sunspot_solr.gemspec
108
+ homepage: https://github.com/outoftime/sunspot/tree/master/sunspot_solr
109
+ licenses: []
110
+ post_install_message:
111
+ rdoc_options:
112
+ - --webcvs=http://github.com/outoftime/sunspot/tree/master/%s
113
+ - --title
114
+ - Sunspot-Solr - Bundled Solr distribution for Sunspot - API Documentation
115
+ - --main
116
+ - README.rdoc
117
+ require_paths:
118
+ - lib
119
+ required_ruby_version: !ruby/object:Gem::Requirement
120
+ none: false
121
+ requirements:
122
+ - - ! '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ required_rubygems_version: !ruby/object:Gem::Requirement
126
+ none: false
127
+ requirements:
128
+ - - ! '>'
129
+ - !ruby/object:Gem::Version
130
+ version: 1.3.1
131
+ requirements: []
132
+ rubyforge_project: sunspot
133
+ rubygems_version: 1.8.15
134
+ signing_key:
135
+ specification_version: 3
136
+ summary: Bundled Solr distribution for Sunspot
137
+ test_files:
138
+ - spec/server_spec.rb
139
+ - spec/spec_helper.rb