Commit 4cf77025d306a4e48b889e7932ae3ac7800b6a23

Authored by Braulio Bhavamitra
1 parent 21f412d3

Download Solr when necessary

For the task 'package' check first if solr was already
downloaded. If so, then include it on the tarball.

Also invoke solr:download task for test task and
development script.
debian/control
... ... @@ -11,7 +11,7 @@ Vcs-Browser: http://git.colivre.coop.br/?p=noosfero.git
11 11  
12 12 Package: noosfero
13 13 Architecture: all
14   -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}
  14 +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}
15 15 Recommends: postgresql-client
16 16 Description: free web-based platform for social networks
17 17 Noosfero is a web platform for social and solidarity economy networks with
... ...
debian/ferret_server.yml
... ... @@ -1,4 +0,0 @@
1   -production:
2   - host: localhost
3   - port: 51000
4   - pid_file: tmp/pids/ferret.production.pid
debian/noosfero.install
... ... @@ -28,7 +28,7 @@ public usr/share/noosfero
28 28 debian/default/noosfero etc/default
29 29 etc/init.d/noosfero etc/init.d
30 30 debian/mongrel_cluster.yml etc/noosfero
31   -debian/ferret_server.yml etc/noosfero
  31 +debian/solr.yml etc/noosfero
32 32 etc/logrotate.d/noosfero etc/logrotate.d
33 33 debian/noosfero.yml etc/noosfero
34 34  
... ...
debian/noosfero.links
... ... @@ -3,7 +3,7 @@ var/tmp/noosfero usr/share/noosfero/tmp
3 3 var/log/noosfero usr/share/noosfero/log
4 4 etc/noosfero/database.yml usr/share/noosfero/config/database.yml
5 5 etc/noosfero/mongrel_cluster.yml usr/share/noosfero/config/mongrel_cluster.yml
6   -etc/noosfero/ferret_server.yml usr/share/noosfero/config/ferret_server.yml
  6 +etc/noosfero/solr.yml usr/share/noosfero/config/solr.yml
7 7 etc/noosfero/plugins usr/share/noosfero/config/plugins
8 8 etc/noosfero/noosfero.yml usr/share/noosfero/config/noosfero.yml
9 9 etc/noosfero/local.rb usr/share/noosfero/config/local.rb
... ...
debian/solr.yml 0 → 100644
... ... @@ -0,0 +1,9 @@
  1 +# Config file for the acts_as_solr plugin.
  2 +#
  3 +# If you change the host or port number here, make sure you update
  4 +# them in your Solr config file
  5 +
  6 +production:
  7 + url: http://127.0.0.1:8983/solr
  8 + jvm_options: -server -Xmx512M -Xms64M
  9 +
... ...
lib/tasks/package.rake
... ... @@ -8,10 +8,22 @@ task :package => 'package:clobber' do
8 8 puts "** The `package` task only works from within #{Noosfero::PROJECT}'s git repository."
9 9 fail
10 10 end
  11 + begin
  12 + sh 'test -f vendor/plugins/acts_as_solr/solr/start.jar'
  13 + rescue
  14 + puts "** The `package` task needs Solr installed within #{Noosfero::PROJECT}. Run 'rake solr:download'."
  15 + fail
  16 + end
11 17 release = "#{Noosfero::PROJECT}-#{Noosfero::VERSION}"
12 18 target = "pkg/#{release}"
13 19 mkdir_p target
14 20 sh "git archive HEAD | (cd #{target} && tar x)"
  21 +
  22 + #solr inclusion
  23 + cp_r "vendor/plugins/acts_as_solr/solr", "#{target}/vendor/plugins/acts_as_solr", :verbose => true
  24 + rm_r "#{target}/vendor/plugins/acts_as_solr/solr/work"
  25 + mkdir_p "#{target}/vendor/plugins/acts_as_solr/solr/work"
  26 +
15 27 sh "cd pkg && tar czf #{release}.tar.gz #{release}"
16 28 end
17 29  
... ...
lib/tasks/test.rake
... ... @@ -9,6 +9,7 @@ end
9 9 task :test do
10 10 ENV['RAILS_ENV'] = 'test'
11 11 Rake::Task['solr:stop'].invoke
  12 + Rake::Task['solr:download'].invoke
12 13 Rake::Task['solr:start'].invoke
13 14 errors = %w(test:units test:functionals test:integration cucumber selenium).collect do |task|
14 15 begin
... ...
script/development
... ... @@ -11,6 +11,7 @@ stop() {
11 11 start() {
12 12 ./script/feed-updater start
13 13 ./script/delayed_job start
  14 + rake -s solr:download
14 15 rake -s solr:start
15 16 trap stop INT TERM
16 17 ./script/server $@
... ...