From db1a53c6297c9dbe4c4555182d76c19c5c1ae597 Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Thu, 6 Feb 2014 16:06:59 +0100 Subject: [PATCH] Patch act-as-taggable-on for assets:precompile --- config/patches/acts-as-taggable-on-ad02dc9bb24ec8e1e79e7e35e2d4bb5910a66d8e.diff | 13 +++++++++++++ config/software/gitlab-core.rb | 16 ++++++++++++++++ 2 files changed, 29 insertions(+), 0 deletions(-) create mode 100644 config/patches/acts-as-taggable-on-ad02dc9bb24ec8e1e79e7e35e2d4bb5910a66d8e.diff diff --git a/config/patches/acts-as-taggable-on-ad02dc9bb24ec8e1e79e7e35e2d4bb5910a66d8e.diff b/config/patches/acts-as-taggable-on-ad02dc9bb24ec8e1e79e7e35e2d4bb5910a66d8e.diff new file mode 100644 index 0000000..577819d --- /dev/null +++ b/config/patches/acts-as-taggable-on-ad02dc9bb24ec8e1e79e7e35e2d4bb5910a66d8e.diff @@ -0,0 +1,13 @@ +diff --git a/lib/acts_as_taggable_on/acts_as_taggable_on/cache.rb b/lib/acts_as_taggable_on/acts_as_taggable_on/cache.rb +index 6bec623..5227ddf 100644 +--- a/lib/acts_as_taggable_on/acts_as_taggable_on/cache.rb ++++ b/lib/acts_as_taggable_on/acts_as_taggable_on/cache.rb +@@ -2,7 +2,7 @@ module ActsAsTaggableOn::Taggable + module Cache + def self.included(base) + # Skip adding caching capabilities if table not exists or no cache columns exist +- return unless base.table_exists? && base.tag_types.any? { |context| base.column_names.include?("cached_#{context.to_s.singularize}_list") } ++ return unless base.connected? && base.table_exists? && base.tag_types.any? { |context| base.column_names.include?("cached_#{context.to_s.singularize}_list") } + + base.send :include, ActsAsTaggableOn::Taggable::Cache::InstanceMethods + base.extend ActsAsTaggableOn::Taggable::Cache::ClassMethods diff --git a/config/software/gitlab-core.rb b/config/software/gitlab-core.rb index c909cd3..bdcb10a 100644 --- a/config/software/gitlab-core.rb +++ b/config/software/gitlab-core.rb @@ -36,8 +36,24 @@ build do # source code to include the Git revision of the code included in the omnibus # build. command "sed -i 's/.*REVISION.*/REVISION = \"#{version_guid.split(':').last[0,10]}\"/' config/initializers/2_app.rb" + bundle "install --without mysql development test --path=#{install_dir}/embedded/service/gem" + + # In order to precompile the assets, we need to get to a state where rake can + # load the Rails environment. + command "cp config/gitlab.yml.example config/gitlab.yml" + command "cp config/database.yml.postgresql config/database.yml" + # There is a bug in the acts-as-taggable-on gem that makes + # rake assets:precompile check for a database connection. We do not have a + # database at this point so that is a problem. This bug is fixed in + # acts-as-taggable-on 3.0.0 by + # https://github.com/mbleigh/acts-as-taggable-on/commit/ad02dc9bb24ec8e1e79e7e35e2d4bb5910a66d8e + command "git apply #{Omnibus.project_root}/config/patches/acts-as-taggable-on-ad02dc9bb24ec8e1e79e7e35e2d4bb5910a66d8e.diff", + :cwd => "#{install_dir}/embedded/service/gem/ruby/1.9.1/gems/acts-as-taggable-on-2.4.1" rake "assets:precompile", :env => {"RAILS_ENV" => "production"} + # Tear down now that the assets:precompile is done. + command "rm config/gitlab.yml config/database.yml" + command "mkdir -p #{install_dir}/embedded/service/gitlab-core" command "#{install_dir}/embedded/bin/rsync -a --delete --exclude=.git/*** --exclude=.gitignore ./ #{install_dir}/embedded/service/gitlab-core/" block do -- libgit2 0.21.2