~michaelforrest/use-case-mapper/trunk

« back to all changes in this revision

Viewing changes to vendor/rails/activeresource/Rakefile

  • Committer: Richard Lee (Canonical)
  • Date: 2010-10-15 15:17:58 UTC
  • mfrom: (190.1.3 use-case-mapper)
  • Revision ID: richard.lee@canonical.com-20101015151758-wcvmfxrexsongf9d
Merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
require 'rubygems'
2
 
require 'rake'
3
 
require 'rake/testtask'
4
 
require 'rake/rdoctask'
5
 
require 'rake/packagetask'
6
 
require 'rake/gempackagetask'
7
 
 
8
 
require File.join(File.dirname(__FILE__), 'lib', 'active_resource', 'version')
9
 
 
10
 
PKG_BUILD     = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
11
 
PKG_NAME      = 'activeresource'
12
 
PKG_VERSION   = ActiveResource::VERSION::STRING + PKG_BUILD
13
 
PKG_FILE_NAME = "#{PKG_NAME}-#{PKG_VERSION}"
14
 
 
15
 
RELEASE_NAME  = "REL #{PKG_VERSION}"
16
 
 
17
 
RUBY_FORGE_PROJECT = "activerecord"
18
 
RUBY_FORGE_USER    = "webster132"
19
 
 
20
 
PKG_FILES = FileList[
21
 
    "lib/**/*", "test/**/*", "[A-Z]*", "Rakefile"
22
 
].exclude(/\bCVS\b|~$/)
23
 
 
24
 
desc "Default Task"
25
 
task :default => [ :test ]
26
 
 
27
 
# Run the unit tests
28
 
 
29
 
Rake::TestTask.new { |t|
30
 
  activesupport_path = "#{File.dirname(__FILE__)}/../activesupport/lib"
31
 
  t.libs << activesupport_path if File.directory?(activesupport_path)
32
 
  t.libs << "test"
33
 
  t.pattern = 'test/**/*_test.rb'
34
 
  t.verbose = true
35
 
  t.warning = true
36
 
}
37
 
 
38
 
 
39
 
# Generate the RDoc documentation
40
 
 
41
 
Rake::RDocTask.new { |rdoc|
42
 
  rdoc.rdoc_dir = 'doc'
43
 
  rdoc.title    = "Active Resource -- Object-oriented REST services"
44
 
  rdoc.options << '--line-numbers' << '--inline-source' << '-A cattr_accessor=object'
45
 
  rdoc.options << '--charset' << 'utf-8'
46
 
  rdoc.template = ENV['template'] ? "#{ENV['template']}.rb" : '../doc/template/horo'
47
 
  rdoc.rdoc_files.include('README', 'CHANGELOG')
48
 
  rdoc.rdoc_files.include('lib/**/*.rb')
49
 
  rdoc.rdoc_files.exclude('lib/activeresource.rb')
50
 
}
51
 
 
52
 
 
53
 
# Create compressed packages
54
 
 
55
 
dist_dirs = [ "lib", "test", "examples", "dev-utils" ]
56
 
 
57
 
spec = Gem::Specification.new do |s|
58
 
  s.platform = Gem::Platform::RUBY
59
 
  s.name = PKG_NAME
60
 
  s.version = PKG_VERSION
61
 
  s.summary = "Think Active Record for web resources."
62
 
  s.description = %q{Wraps web resources in model classes that can be manipulated through XML over REST.}
63
 
 
64
 
  s.files = [ "Rakefile", "README", "CHANGELOG" ]
65
 
  dist_dirs.each do |dir|
66
 
    s.files = s.files + Dir.glob( "#{dir}/**/*" ).delete_if { |item| item.include?( "\.svn" ) }
67
 
  end
68
 
  
69
 
  s.add_dependency('activesupport', '= 2.3.5' + PKG_BUILD)
70
 
 
71
 
  s.require_path = 'lib'
72
 
  s.autorequire = 'active_resource'
73
 
 
74
 
  s.has_rdoc = true
75
 
  s.extra_rdoc_files = %w( README )
76
 
  s.rdoc_options.concat ['--main',  'README']
77
 
  
78
 
  s.author = "David Heinemeier Hansson"
79
 
  s.email = "david@loudthinking.com"
80
 
  s.homepage = "http://www.rubyonrails.org"
81
 
  s.rubyforge_project = "activeresource"
82
 
end
83
 
  
84
 
Rake::GemPackageTask.new(spec) do |p|
85
 
  p.gem_spec = spec
86
 
  p.need_tar = true
87
 
  p.need_zip = true
88
 
end
89
 
 
90
 
task :lines do
91
 
  lines, codelines, total_lines, total_codelines = 0, 0, 0, 0
92
 
 
93
 
  for file_name in FileList["lib/active_resource/**/*.rb"]
94
 
    next if file_name =~ /vendor/
95
 
    f = File.open(file_name)
96
 
 
97
 
    while line = f.gets
98
 
      lines += 1
99
 
      next if line =~ /^\s*$/
100
 
      next if line =~ /^\s*#/
101
 
      codelines += 1
102
 
    end
103
 
    puts "L: #{sprintf("%4d", lines)}, LOC #{sprintf("%4d", codelines)} | #{file_name}"
104
 
    
105
 
    total_lines     += lines
106
 
    total_codelines += codelines
107
 
    
108
 
    lines, codelines = 0, 0
109
 
  end
110
 
 
111
 
  puts "Total: Lines #{total_lines}, LOC #{total_codelines}"
112
 
end
113
 
 
114
 
 
115
 
# Publishing ------------------------------------------------------
116
 
 
117
 
desc "Publish the beta gem"
118
 
task :pgem => [:package] do 
119
 
  require 'rake/contrib/sshpublisher'
120
 
  Rake::SshFilePublisher.new("gems.rubyonrails.org", "/u/sites/gems/gems", "pkg", "#{PKG_FILE_NAME}.gem").upload
121
 
  `ssh gems.rubyonrails.org '/u/sites/gems/gemupdate.sh'`
122
 
end
123
 
 
124
 
desc "Publish the API documentation"
125
 
task :pdoc => [:rdoc] do 
126
 
  require 'rake/contrib/sshpublisher'
127
 
  Rake::SshDirPublisher.new("wrath.rubyonrails.org", "public_html/ar", "doc").upload
128
 
end
129
 
 
130
 
desc "Publish the release files to RubyForge."
131
 
task :release => [ :package ] do
132
 
  `rubyforge login`
133
 
 
134
 
  for ext in %w( gem tgz zip )
135
 
    release_command = "rubyforge add_release #{PKG_NAME} #{PKG_NAME} 'REL #{PKG_VERSION}' pkg/#{PKG_NAME}-#{PKG_VERSION}.#{ext}"
136
 
    puts release_command
137
 
    system(release_command)
138
 
  end
139
 
end