Changesets can be listed by changeset number.
The Git repository is here.
- Revision:
- 373
- Log:
Initial import of Radiant 0.9.1, which is now packaged as a gem. This is an
import of the tagged 0.9.1 source checked out from GitHub, which isn't quite
the same as the gem distribution - but it doesn't seem to be available in an
archived form and the installed gem already has modifications, so this is
the closest I can get.
- Author:
- rool
- Date:
- Mon Mar 21 13:40:05 +0000 2011
- Size:
- 4541 Bytes
1 | require 'rubygems' |
2 | require 'rake/testtask' |
3 | require 'rake/rdoctask' |
4 | require 'rake/gempackagetask' |
5 | require 'radiant' |
6 | |
7 | PKG_NAME = 'radiant' |
8 | PKG_VERSION = Radiant::Version.to_s |
9 | PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}" |
10 | RUBY_FORGE_PROJECT = PKG_NAME |
11 | RUBY_FORGE_USER = ENV['RUBY_FORGE_USER'] || 'jlong' |
12 | |
13 | RELEASE_NAME = ENV['RELEASE_NAME'] || PKG_VERSION |
14 | RELEASE_NOTES = ENV['RELEASE_NOTES'] ? " -n #{ENV['RELEASE_NOTES']}" : '' |
15 | RELEASE_CHANGES = ENV['RELEASE_CHANGES'] ? " -a #{ENV['RELEASE_CHANGES']}" : '' |
16 | RUBY_FORGE_GROUPID = '1337' |
17 | RUBY_FORGE_PACKAGEID = '1638' |
18 | |
19 | RDOC_TITLE = "Radiant -- Publishing for Small Teams" |
20 | RDOC_EXTRAS = ["README", "CONTRIBUTORS", "CHANGELOG", "INSTALL", "LICENSE"] |
21 | |
22 | namespace 'radiant' do |
23 | spec = Gem::Specification.new do |s| |
24 | s.name = PKG_NAME |
25 | s.version = PKG_VERSION |
26 | s.author = "Radiant CMS dev team" |
27 | s.email = "radiant@radiantcms.org" |
28 | s.summary = 'A no-fluff content management system designed for small teams.' |
29 | s.description = "Radiant is a simple and powerful publishing system designed for small teams.\nIt is built with Rails and is similar to Textpattern or MovableType, but is\na general purpose content managment system--not merely a blogging engine." |
30 | s.homepage = 'http://radiantcms.org' |
31 | s.rubyforge_project = RUBY_FORGE_PROJECT |
32 | s.platform = Gem::Platform::RUBY |
33 | s.bindir = 'bin' |
34 | s.executables = (Dir['bin/*'] + Dir['scripts/*']).map { |file| File.basename(file) } |
35 | s.add_dependency 'rake', '>= 0.8.3' |
36 | s.add_dependency 'rack', '~> 1.1.0' # No longer bundled in actionpack |
37 | s.add_dependency 'will_paginate', '~> 2.3.11' |
38 | s.add_dependency 'RedCloth', '>=4.0.0' |
39 | s.has_rdoc = true |
40 | s.rdoc_options << '--title' << RDOC_TITLE << '--line-numbers' << '--main' << 'README' |
41 | rdoc_excludes = Dir["**"].reject { |f| !File.directory? f } |
42 | rdoc_excludes.each do |e| |
43 | s.rdoc_options << '--exclude' << e |
44 | end |
45 | s.extra_rdoc_files = RDOC_EXTRAS |
46 | files = FileList['**/*'] |
47 | files.exclude '**/._*' |
48 | files.exclude '**/*.rej' |
49 | files.exclude '.git*' |
50 | files.exclude /^cache/ |
51 | files.exclude 'config/database.yml' |
52 | files.exclude 'config/locomotive.yml' |
53 | files.exclude 'config/lighttpd.conf' |
54 | files.exclude 'config/mongrel_mimes.yml' |
55 | files.exclude 'db/*.db' |
56 | files.exclude /^doc/ |
57 | files.exclude 'log/*.log' |
58 | files.exclude 'log/*.pid' |
59 | files.include 'log/.keep' |
60 | files.exclude /^pkg/ |
61 | files.include 'public/.htaccess' |
62 | files.exclude /\btmp\b/ |
63 | files.exclude 'radiant.gemspec' |
64 | # Read .gitignore from plugins and exclude those files |
65 | Dir['vendor/plugins/*/.gitignore'].each do |gi| |
66 | dirname = File.dirname(gi) |
67 | File.readlines(gi).each do |i| |
68 | files.exclude "#{dirname}/**/#{i}" |
69 | end |
70 | end |
71 | s.files = files.to_a |
72 | end |
73 | |
74 | Rake::GemPackageTask.new(spec) do |pkg| |
75 | pkg.need_zip = true |
76 | pkg.need_tar = true |
77 | end |
78 | |
79 | task :gemspec do |
80 | File.open('radiant.gemspec', 'w') {|f| f.write spec.to_ruby } |
81 | end |
82 | |
83 | namespace :gem do |
84 | desc "Uninstall Gem" |
85 | task :uninstall do |
86 | sudo = "sudo " if ENV['SUDO'] == 'true' |
87 | sh "#{sudo}gem uninstall #{PKG_NAME}" rescue nil |
88 | end |
89 | |
90 | desc "Build and install Gem from source" |
91 | task :install => [:gemspec, :package, :uninstall] do |
92 | chdir("#{RADIANT_ROOT}/pkg") do |
93 | latest = Dir["#{PKG_NAME}-*.gem"].last |
94 | sudo = "sudo " if ENV['SUDO'] == 'true' |
95 | sh "#{sudo}gem install #{latest}" |
96 | end |
97 | end |
98 | end |
99 | |
100 | task :gem => [ :generate_cached_assets ] |
101 | |
102 | desc "Generates cached assets from source files" |
103 | task :generate_cached_assets do |
104 | TaskSupport.cache_admin_js |
105 | end |
106 | |
107 | desc "Publish the release files to RubyForge." |
108 | task :release => [:gem, :package] do |
109 | files = ["gem", "tgz", "zip"].map { |ext| "pkg/#{PKG_FILE_NAME}.#{ext}" } |
110 | release_id = nil |
111 | system %{rubyforge login} |
112 | files.each_with_index do |file, idx| |
113 | if idx == 0 |
114 | cmd = %Q[rubyforge add_release #{RELEASE_NOTES}#{RELEASE_CHANGES} --preformatted #{RUBY_FORGE_GROUPID} #{RUBY_FORGE_PACKAGEID} "#{RELEASE_NAME}" #{file}] |
115 | puts cmd |
116 | system cmd |
117 | else |
118 | release_id ||= begin |
119 | puts "rubyforge config #{RUBY_FORGE_PROJECT}" |
120 | system "rubyforge config #{RUBY_FORGE_PROJECT}" |
121 | `cat ~/.rubyforge/auto-config.yml | grep "#{RELEASE_NAME}"`.strip.split(/:/).last.strip |
122 | end |
123 | cmd = %Q[rubyforge add_file #{RUBY_FORGE_GROUPID} #{RUBY_FORGE_PACKAGEID} #{release_id} #{file}] |
124 | puts cmd |
125 | system cmd |
126 | end |
127 | end |
128 | end |
129 | end |