This repository has been archived by the owner on Jan 16, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathRakefile
94 lines (70 loc) · 2.46 KB
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
require 'rubygems'
require 'rubygems/package_task'
require 'bundler'
$:.unshift(File.dirname(__FILE__) + "/lib")
require 'simple_config/version'
# Run test by default.
task :default => :test
# This builds the actual gem. For details of what all these options
# mean, and other ones you can add, check the documentation here:
#
# http://rubygems.org/read/chapter/20
#
spec = Gem::Specification.new do |s|
s.name = "simpleconfig"
s.version = SimpleConfig::VERSION
s.summary = "Simple object-oriented application settings for Ruby applications"
s.description = "SimpleConfig is a plugin designed to make application-wide configuration settings (e.g. in a Rails app) easy to set and access in an object-oriented fashion."
s.authors = ["Luke Redpath", "Simone Carletti"]
s.email = ["[email protected]", "[email protected]"]
s.homepage = "http://github.com/lukeredpath/simpleconfig"
s.files = `git ls-files`.split("\n")
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
s.require_paths = %w( lib )
s.add_development_dependency("rake")
s.add_development_dependency("yard")
s.add_development_dependency("mocha")
end
Gem::PackageTask.new(spec) do |pkg|
pkg.gem_spec = spec
end
desc "Build the gemspec file #{spec.name}.gemspec"
task :gemspec do
file = File.dirname(__FILE__) + "/#{spec.name}.gemspec"
File.open(file, "w") {|f| f << spec.to_ruby }
end
desc "Remove any temporary products, including gemspec"
task :clean => [:clobber] do
rm "#{spec.name}.gemspec" if File.file?("#{spec.name}.gemspec")
end
desc "Remove any generated file"
task :clobber => [:clobber_package]
desc "Package the library and generates the gemspec"
task :package => [:gemspec]
desc "Release to RubyGems.org"
task :release => :package do
system("gem push pkg/#{spec.file_name}") &&
system("git tag -a -m 'Tagged #{spec.version} release' v#{spec.version}") &&
system("git push --tags")
end
require 'rake/testtask'
Rake::TestTask.new do |t|
t.libs << "test"
t.test_files = FileList["test/**/*_test.rb"]
t.verbose = !!ENV["VERBOSE"]
t.warning = !!ENV["WARNING"]
end
require 'yard/rake/yardoc_task'
YARD::Rake::YardocTask.new(:yardoc) do |y|
y.options = ["--output-dir", "yardoc"]
end
namespace :yardoc do
task :clobber do
rm_r "yardoc" rescue nil
end
end
task :clobber => "yardoc:clobber"
desc "Open an irb session preloaded with this library"
task :console do
sh "irb -rubygems -I lib -r simple_config.rb"
end