Commit 0dcda02f9ef0949108a6f833272d6e9db95781bc

Authored by Antonio Terceiro
1 parent 925a08f3

Reworking the release tarball generation

ActionItem1629
Rakefile.pkg
... ... @@ -1,101 +0,0 @@
1   -require(File.join(File.dirname(__FILE__), 'config', 'boot'))
2   -
3   -require 'rake'
4   -require 'rake/testtask'
5   -require 'rake/rdoctask'
6   -require 'rake/packagetask'
7   -require 'noosfero'
8   -
9   -Rake::PackageTask.new(Noosfero::PROJECT, Noosfero::VERSION) do |p|
10   - p.need_tar_gz = true
11   -
12   - # cleaning temporary files
13   - FileUtils.rm_rf('tmp')
14   - FileUtils.mkdir_p('tmp/cache')
15   - FileUtils.mkdir_p('tmp/sessions')
16   - FileUtils.mkdir_p('tmp/sockets')
17   -
18   - # application files
19   - p.package_files.include('app/**/*.{rb,rhtml,rjs,rxml,erb}')
20   - p.package_files.include('config/**/*.{rb,sqlite3}')
21   - p.package_files.include('config/ferret_server.yml.dist')
22   - p.package_files.include('db/migrate/*.rb')
23   - p.package_files.include('db/schema.rb')
24   - p.package_files.include('doc/README_FOR_APP')
25   - p.package_files.include('lib/**/*.{rake,rb}')
26   - p.package_files.include('Rakefile')
27   - p.package_files.include('Rakefile.pkg')
28   -
29   - # translation files
30   - p.package_files.include('po/*/*.po')
31   - p.package_files.include('po/noosfero.pot')
32   -
33   - # templates
34   - p.package_files.include('public/designs/templates/**/*')
35   -
36   - # icon sets
37   - p.package_files.include('public/designs/icons/tango/**/*')
38   - p.package_files.exclude('public/designs/icons/tango/Tango')
39   - p.package_files.exclude('public/designs/icons/default')
40   -
41   - # themes
42   - p.package_files.include('public/designs/themes/noosfero/**/*')
43   - p.package_files.include('public/designs/themes/base/**/*')
44   - p.package_files.exclude('public/designs/themes/default')
45   -
46   - # static files
47   - p.package_files.include('public/dispatch.*')
48   - p.package_files.include('public/favicon.ico')
49   - p.package_files.include('public/*.html')
50   - p.package_files.include('public/*.html.erb')
51   - p.package_files.include('public/images/**/*')
52   - p.package_files.include('public/javascripts/**/*')
53   - p.package_files.include('public/robots.txt')
54   - p.package_files.include('public/stylesheets/**/*')
55   -
56   - # top-level docs
57   - p.package_files.include('README')
58   - p.package_files.include('COPYING')
59   - p.package_files.include('COPYRIGHT')
60   - p.package_files.include('INSTALL')
61   - p.package_files.include('HACKING')
62   -
63   - # scripts
64   - p.package_files.include('script/**/*')
65   -
66   - # test files
67   - p.package_files.include('test/**/*.{rb,yml}')
68   - p.package_files.include('test/fixtures/files/*')
69   - p.package_files.include('features/**/*')
70   - p.package_files.include('config/cucumber.yml')
71   -
72   - # empty directories that must exist
73   - p.package_files.include('tmp/cache')
74   - p.package_files.include('tmp/sessions')
75   - p.package_files.include('tmp/sockets')
76   - p.package_files.include('log')
77   -
78   - # symbolic links
79   - p.package_files.include('app/views/profile_design/*')
80   - p.package_files.include('app/views/environment_design/*')
81   -
82   - # util
83   - p.package_files.include('util/**/*')
84   -
85   - # external resources
86   - p.package_files.include('vendor/**/*')
87   - p.package_files.exclude('vendor/rails')
88   -
89   - # online documentation
90   - p.package_files.include('doc/noosfero/**/*')
91   -
92   - # do not install locally generated files
93   - p.package_files.exclude('coverage/**/*')
94   - p.package_files.exclude('public/images/[0-9][0-9][0-9][0-9]/**/*')
95   -
96   -end
97   -
98   -task :default => :package
99   -task :clean => :clobber_package
100   -
101   -# vim: ft=ruby
lib/tasks/package.rake 0 → 100644
... ... @@ -0,0 +1,17 @@
  1 +require 'noosfero'
  2 +
  3 +desc "Generate source tarball"
  4 +task :package do
  5 + begin
  6 + sh 'test -d .git'
  7 + rescue
  8 + puts "** The `package` task only works from within #{Noosfero::PROJECT}'s git repository."
  9 + fail
  10 + end
  11 + rm_rf 'pkg'
  12 + release = "#{Noosfero::PROJECT}-#{Noosfero::VERSION}"
  13 + target = "pkg/#{release}"
  14 + mkdir_p target
  15 + sh "git archive HEAD | (cd #{target} && tar x)"
  16 + sh "cd pkg && tar czf #{release}.tar.gz #{release}"
  17 +end
... ...
lib/tasks/release.rake
... ... @@ -57,8 +57,7 @@ EOF
57 57 end
58 58  
59 59 desc 'prepares a release tarball'
60   - task :release => [ :check_tag, 'noosfero:doc:translate', 'noosfero:error-pages:translate', :authors, :check_repo ] do
61   - sh 'rake -f Rakefile.pkg'
  60 + task :release => [ :check_tag, 'noosfero:doc:translate', 'noosfero:error-pages:translate', :authors, :check_repo, :package ] do
62 61 sh "git tag #{version}"
63 62 puts "I: please upload the tarball to the website!"
64 63 puts "I: please push the tag for version #{version} that was just created!"
... ...