diff --git a/Rakefile.pkg b/Rakefile.pkg deleted file mode 100644 index 7252d10..0000000 --- a/Rakefile.pkg +++ /dev/null @@ -1,101 +0,0 @@ -require(File.join(File.dirname(__FILE__), 'config', 'boot')) - -require 'rake' -require 'rake/testtask' -require 'rake/rdoctask' -require 'rake/packagetask' -require 'noosfero' - -Rake::PackageTask.new(Noosfero::PROJECT, Noosfero::VERSION) do |p| - p.need_tar_gz = true - - # cleaning temporary files - FileUtils.rm_rf('tmp') - FileUtils.mkdir_p('tmp/cache') - FileUtils.mkdir_p('tmp/sessions') - FileUtils.mkdir_p('tmp/sockets') - - # application files - p.package_files.include('app/**/*.{rb,rhtml,rjs,rxml,erb}') - p.package_files.include('config/**/*.{rb,sqlite3}') - p.package_files.include('config/ferret_server.yml.dist') - p.package_files.include('db/migrate/*.rb') - p.package_files.include('db/schema.rb') - p.package_files.include('doc/README_FOR_APP') - p.package_files.include('lib/**/*.{rake,rb}') - p.package_files.include('Rakefile') - p.package_files.include('Rakefile.pkg') - - # translation files - p.package_files.include('po/*/*.po') - p.package_files.include('po/noosfero.pot') - - # templates - p.package_files.include('public/designs/templates/**/*') - - # icon sets - p.package_files.include('public/designs/icons/tango/**/*') - p.package_files.exclude('public/designs/icons/tango/Tango') - p.package_files.exclude('public/designs/icons/default') - - # themes - p.package_files.include('public/designs/themes/noosfero/**/*') - p.package_files.include('public/designs/themes/base/**/*') - p.package_files.exclude('public/designs/themes/default') - - # static files - p.package_files.include('public/dispatch.*') - p.package_files.include('public/favicon.ico') - p.package_files.include('public/*.html') - p.package_files.include('public/*.html.erb') - p.package_files.include('public/images/**/*') - p.package_files.include('public/javascripts/**/*') - p.package_files.include('public/robots.txt') - p.package_files.include('public/stylesheets/**/*') - - # top-level docs - p.package_files.include('README') - p.package_files.include('COPYING') - p.package_files.include('COPYRIGHT') - p.package_files.include('INSTALL') - p.package_files.include('HACKING') - - # scripts - p.package_files.include('script/**/*') - - # test files - p.package_files.include('test/**/*.{rb,yml}') - p.package_files.include('test/fixtures/files/*') - p.package_files.include('features/**/*') - p.package_files.include('config/cucumber.yml') - - # empty directories that must exist - p.package_files.include('tmp/cache') - p.package_files.include('tmp/sessions') - p.package_files.include('tmp/sockets') - p.package_files.include('log') - - # symbolic links - p.package_files.include('app/views/profile_design/*') - p.package_files.include('app/views/environment_design/*') - - # util - p.package_files.include('util/**/*') - - # external resources - p.package_files.include('vendor/**/*') - p.package_files.exclude('vendor/rails') - - # online documentation - p.package_files.include('doc/noosfero/**/*') - - # do not install locally generated files - p.package_files.exclude('coverage/**/*') - p.package_files.exclude('public/images/[0-9][0-9][0-9][0-9]/**/*') - -end - -task :default => :package -task :clean => :clobber_package - -# vim: ft=ruby diff --git a/lib/tasks/package.rake b/lib/tasks/package.rake new file mode 100644 index 0000000..c6c925d --- /dev/null +++ b/lib/tasks/package.rake @@ -0,0 +1,17 @@ +require 'noosfero' + +desc "Generate source tarball" +task :package do + begin + sh 'test -d .git' + rescue + puts "** The `package` task only works from within #{Noosfero::PROJECT}'s git repository." + fail + end + rm_rf 'pkg' + release = "#{Noosfero::PROJECT}-#{Noosfero::VERSION}" + target = "pkg/#{release}" + mkdir_p target + sh "git archive HEAD | (cd #{target} && tar x)" + sh "cd pkg && tar czf #{release}.tar.gz #{release}" +end diff --git a/lib/tasks/release.rake b/lib/tasks/release.rake index d2b076a..7d4335d 100644 --- a/lib/tasks/release.rake +++ b/lib/tasks/release.rake @@ -57,8 +57,7 @@ EOF end desc 'prepares a release tarball' - task :release => [ :check_tag, 'noosfero:doc:translate', 'noosfero:error-pages:translate', :authors, :check_repo ] do - sh 'rake -f Rakefile.pkg' + task :release => [ :check_tag, 'noosfero:doc:translate', 'noosfero:error-pages:translate', :authors, :check_repo, :package ] do sh "git tag #{version}" puts "I: please upload the tarball to the website!" puts "I: please push the tag for version #{version} that was just created!" -- libgit2 0.21.2