Sha256: ca141df76514314ca46efa066d42c46eafb57a28eee63fd18df744f5657d5449

Contents?: true

Size: 1.33 KB

Versions: 2

Compression:

Stored size: 1.33 KB

Contents

#!/usr/bin/env ruby
require 'rubygems'
gem 'daemons', '~> 1.0'
gem 'optiflag', '~> 0.6.5'
require 'fileutils'
require 'tmpdir'
require 'daemons'
require 'optiflag'

working_directory = FileUtils.pwd
solr_home = File.join(File.dirname(__FILE__), '..', 'solr')

module SolrFlags extend OptiFlagSet
  optional_flag 'p' do
    description 'Port on which to run Solr (default 8983)'
    long_form 'port'
  end

  optional_flag 'd' do
    description 'Solr data directory'
  end

  optional_flag 's' do
    description 'Solr home (should contain conf/ directory)'
  end

  optional_flag 'pd' do
    long_form 'pid-dir'
    description 'Directory for pid files'
  end

  and_process!
end

port     = ARGV.flags.p || '8983'
data_dir = File.expand_path(ARGV.flags.d || File.join(Dir.tmpdir, 'solr_data'))
home     = File.expand_path(ARGV.flags.s) if ARGV.flags.s
pid_dir  = File.expand_path(ARGV.flags.pd || working_directory)

options = { :dir_mode => :normal, :dir => pid_dir }

Daemons.run_proc('sunspot-solr', options) do
  FileUtils.cd(working_directory) do
    FileUtils.cd(solr_home) do
      args = ['java']
      args << "-Djetty.port=#{port}" if port
      args << "-Dsolr.data.dir=#{data_dir}" if data_dir
      args << "-Dsolr.solr.home=#{home}" if home
      args << '-jar' << 'start.jar'
      STDERR.puts(args * ' ')
      Kernel.exec(*args)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
outoftime-sunspot-0.8.8 bin/sunspot-solr
outoftime-sunspot-0.8.9 bin/sunspot-solr