1 require 'rubygems/package_task'
4 GEM_SPEC = Gem::Specification.new do |s|
5 unless s.respond_to?(:add_development_dependency)
6 puts 'The gem spec requires a newer version of RubyGems.'
11 s.version = PKG_VERSION
13 s.email = PKG_AUTHOR_EMAIL
14 s.summary = PKG_SUMMARY
15 s.description = PKG_DESCRIPTION
17 s.files = PKG_FILES.to_a
18 s.executables << 'google-api'
20 s.extra_rdoc_files = %w( README.md )
21 s.rdoc_options.concat ['--main', 'README.md']
23 # Dependencies used in the main library
24 s.add_runtime_dependency('signet', '~> 0.2.2')
25 s.add_runtime_dependency('addressable', '~> 2.2.2')
26 s.add_runtime_dependency('httpadapter', '~> 1.0.1')
27 s.add_runtime_dependency('autoparse', '~> 0.2.0')
28 s.add_runtime_dependency('json', '>= 1.4.6')
29 s.add_runtime_dependency('extlib', '>= 0.9.15')
31 # Dependencies used in the CLI
32 s.add_runtime_dependency('launchy', '>= 2.0.0')
34 # Dependencies used in the examples
35 s.add_development_dependency('sinatra', '>= 1.2.0')
37 s.add_development_dependency('rake', '>= 0.9.0')
38 s.add_development_dependency('rspec', '~> 1.2.9')
39 s.add_development_dependency('rcov', '>= 0.9.9')
40 s.add_development_dependency('diff-lcs', '>= 1.1.2')
42 s.require_path = 'lib'
44 s.homepage = PKG_HOMEPAGE
47 Gem::PackageTask.new(GEM_SPEC) do |p|
53 desc 'Show information about the gem'
58 desc "Generates .gemspec file"
60 spec_string = GEM_SPEC.to_ruby
63 Thread.new { eval("$SAFE = 3\n#{spec_string}", binding) }.join
65 abort "unsafe gemspec: #{$!}"
67 File.open("#{GEM_SPEC.name}.gemspec", 'w') do |file|
68 file.write spec_string
73 desc 'Install the gem'
74 task :install => ['clobber', 'gem:package'] do
75 sh "#{SUDO} gem install --local pkg/#{GEM_SPEC.full_name}"
78 desc 'Uninstall the gem'
80 installed_list = Gem.source_index.find_name(PKG_NAME)
82 (installed_list.collect { |s| s.version.to_s}.include?(PKG_VERSION))
84 "#{SUDO} gem uninstall --version '#{PKG_VERSION}' " +
85 "--ignore-dependencies --executables #{PKG_NAME}"
90 desc 'Reinstall the gem'
91 task :reinstall => [:uninstall, :install]
94 desc 'Alias to gem:package'
95 task 'gem' => 'gem:package'
97 task 'clobber' => ['gem:clobber_package']