From 4cf77025d306a4e48b889e7932ae3ac7800b6a23 Mon Sep 17 00:00:00 2001 From: Braulio Bhavamitra Date: Sat, 23 Apr 2011 02:55:52 +0400 Subject: [PATCH] Download Solr when necessary --- debian/control | 2 +- debian/ferret_server.yml | 4 ---- debian/noosfero.install | 2 +- debian/noosfero.links | 2 +- debian/solr.yml | 9 +++++++++ lib/tasks/package.rake | 12 ++++++++++++ lib/tasks/test.rake | 1 + script/development | 1 + 8 files changed, 26 insertions(+), 7 deletions(-) delete mode 100644 debian/ferret_server.yml create mode 100644 debian/solr.yml diff --git a/debian/control b/debian/control index 3184031..cdbdd0e 100644 --- a/debian/control +++ b/debian/control @@ -11,7 +11,7 @@ Vcs-Browser: http://git.colivre.coop.br/?p=noosfero.git Package: noosfero Architecture: all -Depends: rails, ruby1.8, ruby, rake, libgettext-ruby-data, libsqlite3-ruby, libpgsql-ruby, libmysql-ruby, librmagick-ruby, libredcloth-ruby, libwill-paginate-ruby, iso-codes, libfeedparser-ruby, libferret-ruby, libdaemons-ruby, rcov, mongrel, mongrel-cluster, tango-icon-theme, libhpricot-ruby, iso-codes, memcached, debconf, dbconfig-common, postgresql, adduser, ${misc:Depends} +Depends: rails, ruby1.8, ruby, rake, libgettext-ruby-data, libsqlite3-ruby, libpgsql-ruby, libmysql-ruby, librmagick-ruby, libredcloth-ruby, libwill-paginate-ruby, iso-codes, libfeedparser-ruby, openjdk-6-jre, libdaemons-ruby, rcov, mongrel, mongrel-cluster, tango-icon-theme, libhpricot-ruby, iso-codes, memcached, debconf, dbconfig-common, postgresql, adduser, ${misc:Depends} Recommends: postgresql-client Description: free web-based platform for social networks Noosfero is a web platform for social and solidarity economy networks with diff --git a/debian/ferret_server.yml b/debian/ferret_server.yml deleted file mode 100644 index 1b2010f..0000000 --- a/debian/ferret_server.yml +++ /dev/null @@ -1,4 +0,0 @@ -production: - host: localhost - port: 51000 - pid_file: tmp/pids/ferret.production.pid diff --git a/debian/noosfero.install b/debian/noosfero.install index f51627f..a0aa8c1 100644 --- a/debian/noosfero.install +++ b/debian/noosfero.install @@ -28,7 +28,7 @@ public usr/share/noosfero debian/default/noosfero etc/default etc/init.d/noosfero etc/init.d debian/mongrel_cluster.yml etc/noosfero -debian/ferret_server.yml etc/noosfero +debian/solr.yml etc/noosfero etc/logrotate.d/noosfero etc/logrotate.d debian/noosfero.yml etc/noosfero diff --git a/debian/noosfero.links b/debian/noosfero.links index 682403a..fa6039a 100644 --- a/debian/noosfero.links +++ b/debian/noosfero.links @@ -3,7 +3,7 @@ var/tmp/noosfero usr/share/noosfero/tmp var/log/noosfero usr/share/noosfero/log etc/noosfero/database.yml usr/share/noosfero/config/database.yml etc/noosfero/mongrel_cluster.yml usr/share/noosfero/config/mongrel_cluster.yml -etc/noosfero/ferret_server.yml usr/share/noosfero/config/ferret_server.yml +etc/noosfero/solr.yml usr/share/noosfero/config/solr.yml etc/noosfero/plugins usr/share/noosfero/config/plugins etc/noosfero/noosfero.yml usr/share/noosfero/config/noosfero.yml etc/noosfero/local.rb usr/share/noosfero/config/local.rb diff --git a/debian/solr.yml b/debian/solr.yml new file mode 100644 index 0000000..9c2a6b2 --- /dev/null +++ b/debian/solr.yml @@ -0,0 +1,9 @@ +# Config file for the acts_as_solr plugin. +# +# If you change the host or port number here, make sure you update +# them in your Solr config file + +production: + url: http://127.0.0.1:8983/solr + jvm_options: -server -Xmx512M -Xms64M + diff --git a/lib/tasks/package.rake b/lib/tasks/package.rake index 08c2c52..fb9e836 100644 --- a/lib/tasks/package.rake +++ b/lib/tasks/package.rake @@ -8,10 +8,22 @@ task :package => 'package:clobber' do puts "** The `package` task only works from within #{Noosfero::PROJECT}'s git repository." fail end + begin + sh 'test -f vendor/plugins/acts_as_solr/solr/start.jar' + rescue + puts "** The `package` task needs Solr installed within #{Noosfero::PROJECT}. Run 'rake solr:download'." + fail + end release = "#{Noosfero::PROJECT}-#{Noosfero::VERSION}" target = "pkg/#{release}" mkdir_p target sh "git archive HEAD | (cd #{target} && tar x)" + + #solr inclusion + cp_r "vendor/plugins/acts_as_solr/solr", "#{target}/vendor/plugins/acts_as_solr", :verbose => true + rm_r "#{target}/vendor/plugins/acts_as_solr/solr/work" + mkdir_p "#{target}/vendor/plugins/acts_as_solr/solr/work" + sh "cd pkg && tar czf #{release}.tar.gz #{release}" end diff --git a/lib/tasks/test.rake b/lib/tasks/test.rake index cbbc7c1..2447ee6 100644 --- a/lib/tasks/test.rake +++ b/lib/tasks/test.rake @@ -9,6 +9,7 @@ end task :test do ENV['RAILS_ENV'] = 'test' Rake::Task['solr:stop'].invoke + Rake::Task['solr:download'].invoke Rake::Task['solr:start'].invoke errors = %w(test:units test:functionals test:integration cucumber selenium).collect do |task| begin diff --git a/script/development b/script/development index a80bfad..a81c5f2 100755 --- a/script/development +++ b/script/development @@ -11,6 +11,7 @@ stop() { start() { ./script/feed-updater start ./script/delayed_job start + rake -s solr:download rake -s solr:start trap stop INT TERM ./script/server $@ -- libgit2 0.21.2