do_riak 0.10.1.pre
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +2 -0
- data/Gemfile +9 -0
- data/LICENSE +20 -0
- data/README.textile +23 -0
- data/TODO.txt +4 -0
- data/deps.rip +8 -0
- data/do_riak.gemspec +40 -0
- data/do_riak.pre.gemspec +8 -0
- data/gems/cache/bacon-1.1.0.gem +0 -0
- data/gems/cache/code-cleaner-0.8.1.gem +0 -0
- data/gems/cache/nake-0.0.8.gem +0 -0
- data/gems/cache/term-ansicolor-1.0.4.gem +0 -0
- data/gems/environment.rb +107 -0
- data/gems/gems/bacon-1.1.0/COPYING +18 -0
- data/gems/gems/bacon-1.1.0/ChangeLog +220 -0
- data/gems/gems/bacon-1.1.0/RDOX +69 -0
- data/gems/gems/bacon-1.1.0/README +290 -0
- data/gems/gems/bacon-1.1.0/Rakefile +138 -0
- data/gems/gems/bacon-1.1.0/bin/bacon +117 -0
- data/gems/gems/bacon-1.1.0/lib/autotest/bacon.rb +36 -0
- data/gems/gems/bacon-1.1.0/lib/autotest/bacon_rspec.rb +2 -0
- data/gems/gems/bacon-1.1.0/lib/autotest/discover.rb +9 -0
- data/gems/gems/bacon-1.1.0/lib/bacon.rb +354 -0
- data/gems/gems/bacon-1.1.0/test/spec_bacon.rb +374 -0
- data/gems/gems/bacon-1.1.0/test/spec_should.rb +32 -0
- data/gems/gems/code-cleaner-0.8.1/LICENSE +20 -0
- data/gems/gems/code-cleaner-0.8.1/README.textile +87 -0
- data/gems/gems/code-cleaner-0.8.1/TODO.txt +1 -0
- data/gems/gems/code-cleaner-0.8.1/bin/code-cleaner +143 -0
- data/gems/gems/code-cleaner-0.8.1/code-cleaner-0.8.gem +0 -0
- data/gems/gems/code-cleaner-0.8.1/code-cleaner.gemspec +25 -0
- data/gems/gems/code-cleaner-0.8.1/support/pre-commit.erb +70 -0
- data/gems/gems/code-cleaner-0.8.1/tasks.rb +13 -0
- data/gems/gems/code-cleaner-0.8.1/tasks/code-cleaner.nake +49 -0
- data/gems/gems/code-cleaner-0.8.1/tasks/code-cleaner.rake +22 -0
- data/gems/gems/code-cleaner-0.8.1/tasks/code-cleaner.thor +35 -0
- data/gems/gems/nake-0.0.8/CHANGELOG +48 -0
- data/gems/gems/nake-0.0.8/LICENSE +20 -0
- data/gems/gems/nake-0.0.8/README.textile +39 -0
- data/gems/gems/nake-0.0.8/TODO.txt +23 -0
- data/gems/gems/nake-0.0.8/bin/nake +66 -0
- data/gems/gems/nake-0.0.8/bin/nrake +4 -0
- data/gems/gems/nake-0.0.8/bin/rake2nake +1 -0
- data/gems/gems/nake-0.0.8/bin/snake +41 -0
- data/gems/gems/nake-0.0.8/bm/Rakefile +28 -0
- data/gems/gems/nake-0.0.8/bm/bms.rb +56 -0
- data/gems/gems/nake-0.0.8/bm/output.txt +5 -0
- data/gems/gems/nake-0.0.8/bm/tasks.rb +21 -0
- data/gems/gems/nake-0.0.8/bm/tmp/test.c +6 -0
- data/gems/gems/nake-0.0.8/bm/tmp/www/index.html +1 -0
- data/gems/gems/nake-0.0.8/deps.rb +5 -0
- data/gems/gems/nake-0.0.8/deps.rip +5 -0
- data/gems/gems/nake-0.0.8/examples/arguments.rb +38 -0
- data/gems/gems/nake-0.0.8/examples/basic.rb +5 -0
- data/gems/gems/nake-0.0.8/examples/boot.rb +18 -0
- data/gems/gems/nake-0.0.8/examples/complex.rb +9 -0
- data/gems/gems/nake-0.0.8/examples/configuration.rb +15 -0
- data/gems/gems/nake-0.0.8/examples/default.rb +10 -0
- data/gems/gems/nake-0.0.8/examples/default_proc.rb +11 -0
- data/gems/gems/nake-0.0.8/examples/dependencies.rb +10 -0
- data/gems/gems/nake-0.0.8/examples/description.rb +33 -0
- data/gems/gems/nake-0.0.8/examples/file.rb +22 -0
- data/gems/gems/nake-0.0.8/examples/helpers.rb +3 -0
- data/gems/gems/nake-0.0.8/examples/invoking.rb +14 -0
- data/gems/gems/nake-0.0.8/examples/rules.rb +0 -0
- data/gems/gems/nake-0.0.8/examples/script.rb +20 -0
- data/gems/gems/nake-0.0.8/examples/task_arguments.rb +27 -0
- data/gems/gems/nake-0.0.8/features/arguments.feature +22 -0
- data/gems/gems/nake-0.0.8/features/basic.feature +6 -0
- data/gems/gems/nake-0.0.8/features/boot.feature +5 -0
- data/gems/gems/nake-0.0.8/features/builtin_arguments.feature +14 -0
- data/gems/gems/nake-0.0.8/features/complex.feature +6 -0
- data/gems/gems/nake-0.0.8/features/configuration.feature +10 -0
- data/gems/gems/nake-0.0.8/features/default.feature +10 -0
- data/gems/gems/nake-0.0.8/features/default_proc.feature +6 -0
- data/gems/gems/nake-0.0.8/features/dependencies.feature +16 -0
- data/gems/gems/nake-0.0.8/features/description.feature +0 -0
- data/gems/gems/nake-0.0.8/features/env.rb +11 -0
- data/gems/gems/nake-0.0.8/features/executable.feature +29 -0
- data/gems/gems/nake-0.0.8/features/file.feature +23 -0
- data/gems/gems/nake-0.0.8/features/helpers.feature +6 -0
- data/gems/gems/nake-0.0.8/features/invoking.feature +14 -0
- data/gems/gems/nake-0.0.8/features/rules.feature +0 -0
- data/gems/gems/nake-0.0.8/features/script.feature +10 -0
- data/gems/gems/nake-0.0.8/features/steps.rb +39 -0
- data/gems/gems/nake-0.0.8/features/task_arguments.feature +10 -0
- data/gems/gems/nake-0.0.8/lib/nake.rb +103 -0
- data/gems/gems/nake-0.0.8/lib/nake/abstract_task.rb +175 -0
- data/gems/gems/nake-0.0.8/lib/nake/args.rb +65 -0
- data/gems/gems/nake-0.0.8/lib/nake/argv.rb +47 -0
- data/gems/gems/nake-0.0.8/lib/nake/colors.rb +22 -0
- data/gems/gems/nake-0.0.8/lib/nake/dsl.rb +70 -0
- data/gems/gems/nake-0.0.8/lib/nake/file_task.rb +62 -0
- data/gems/gems/nake-0.0.8/lib/nake/helpers.rb +65 -0
- data/gems/gems/nake-0.0.8/lib/nake/rake.rb +38 -0
- data/gems/gems/nake-0.0.8/lib/nake/rule.rb +35 -0
- data/gems/gems/nake-0.0.8/lib/nake/struct_hash.rb +22 -0
- data/gems/gems/nake-0.0.8/lib/nake/task.rb +6 -0
- data/gems/gems/nake-0.0.8/lib/nake/tasks/bundle.rb +30 -0
- data/gems/gems/nake-0.0.8/lib/nake/tasks/clean.rb +12 -0
- data/gems/gems/nake-0.0.8/lib/nake/tasks/gem.rb +29 -0
- data/gems/gems/nake-0.0.8/lib/nake/tasks/release.rb +43 -0
- data/gems/gems/nake-0.0.8/lib/nake/tasks/rip.rb +33 -0
- data/gems/gems/nake-0.0.8/lib/nake/tasks/spec.rb +20 -0
- data/gems/gems/nake-0.0.8/lib/nake/template.rb +51 -0
- data/gems/gems/nake-0.0.8/nake-0.0.8.pre.gem +0 -0
- data/gems/gems/nake-0.0.8/nake.gemspec +42 -0
- data/gems/gems/nake-0.0.8/nake.pre.gemspec +8 -0
- data/gems/gems/nake-0.0.8/spec/nake/abstract_task_spec.rb +0 -0
- data/gems/gems/nake-0.0.8/spec/nake/args_spec.rb +0 -0
- data/gems/gems/nake-0.0.8/spec/nake/argv_spec.rb +51 -0
- data/gems/gems/nake-0.0.8/spec/nake/colors_spec.rb +0 -0
- data/gems/gems/nake-0.0.8/spec/nake/dsl_spec.rb +35 -0
- data/gems/gems/nake-0.0.8/spec/nake/file_task_spec.rb +0 -0
- data/gems/gems/nake-0.0.8/spec/nake/helpers_spec.rb +14 -0
- data/gems/gems/nake-0.0.8/spec/nake/rake_spec.rb +0 -0
- data/gems/gems/nake-0.0.8/spec/nake/rule_spec.rb +72 -0
- data/gems/gems/nake-0.0.8/spec/nake/struct_hash_spec.rb +0 -0
- data/gems/gems/nake-0.0.8/spec/nake/task_spec.rb +72 -0
- data/gems/gems/nake-0.0.8/spec/nake/tasks/bundle_spec.rb +28 -0
- data/gems/gems/nake-0.0.8/spec/nake/tasks/clean_spec.rb +0 -0
- data/gems/gems/nake-0.0.8/spec/nake/tasks/gem_spec.rb +0 -0
- data/gems/gems/nake-0.0.8/spec/nake/tasks/release_spec.rb +0 -0
- data/gems/gems/nake-0.0.8/spec/nake/tasks/rip_spec.rb +0 -0
- data/gems/gems/nake-0.0.8/spec/nake/tasks/spec_spec.rb +0 -0
- data/gems/gems/nake-0.0.8/spec/nake/tasks_spec.rb +48 -0
- data/gems/gems/nake-0.0.8/spec/nake/template_spec.rb +84 -0
- data/gems/gems/nake-0.0.8/spec/nake_spec.rb +9 -0
- data/gems/gems/nake-0.0.8/spec/spec.opts +5 -0
- data/gems/gems/nake-0.0.8/spec/spec_helper.rb +29 -0
- data/gems/gems/nake-0.0.8/spec/stubs/database.yml.erb +9 -0
- data/gems/gems/nake-0.0.8/spec/stubs/database.yml.tt +9 -0
- data/gems/gems/nake-0.0.8/tasks.rb +42 -0
- data/gems/gems/term-ansicolor-1.0.4/CHANGES +22 -0
- data/gems/gems/term-ansicolor-1.0.4/COPYING +340 -0
- data/gems/gems/term-ansicolor-1.0.4/README +31 -0
- data/gems/gems/term-ansicolor-1.0.4/Rakefile +86 -0
- data/gems/gems/term-ansicolor-1.0.4/VERSION +1 -0
- data/gems/gems/term-ansicolor-1.0.4/doc-main.txt +119 -0
- data/gems/gems/term-ansicolor-1.0.4/examples/cdiff.rb +19 -0
- data/gems/gems/term-ansicolor-1.0.4/examples/example.rb +89 -0
- data/gems/gems/term-ansicolor-1.0.4/install.rb +15 -0
- data/gems/gems/term-ansicolor-1.0.4/lib/term/ansicolor.rb +102 -0
- data/gems/gems/term-ansicolor-1.0.4/lib/term/ansicolor/version.rb +10 -0
- data/gems/gems/term-ansicolor-1.0.4/term-ansicolor.gemspec +20 -0
- data/gems/specifications/bacon-1.1.0.gemspec +30 -0
- data/gems/specifications/code-cleaner-0.8.1.gemspec +31 -0
- data/gems/specifications/nake-0.0.8.gemspec +35 -0
- data/gems/specifications/term-ansicolor-1.0.4.gemspec +30 -0
- data/lib/do_riak.rb +10 -0
- data/lib/do_riak/errors.rb +11 -0
- data/lib/do_riak/transaction.rb +24 -0
- data/lib/do_riak/version.rb +7 -0
- data/script/bacon +3 -0
- data/script/code-cleaner +3 -0
- data/script/nake +3 -0
- data/spec/command_spec.rb +8 -0
- data/spec/connection_spec.rb +17 -0
- data/spec/reader_spec.rb +8 -0
- data/spec/result_spec.rb +12 -0
- data/spec/spec_helper.rb +19 -0
- data/spec/typecast/array_spec.rb +8 -0
- data/spec/typecast/bigdecimal_spec.rb +8 -0
- data/spec/typecast/boolean_spec.rb +8 -0
- data/spec/typecast/byte_array_spec.rb +8 -0
- data/spec/typecast/class_spec.rb +8 -0
- data/spec/typecast/date_spec.rb +8 -0
- data/spec/typecast/datetime_spec.rb +8 -0
- data/spec/typecast/float_spec.rb +12 -0
- data/spec/typecast/integer_spec.rb +8 -0
- data/spec/typecast/nil_spec.rb +16 -0
- data/spec/typecast/other_spec.rb +8 -0
- data/spec/typecast/range_spec.rb +8 -0
- data/spec/typecast/string_spec.rb +8 -0
- data/spec/typecast/time_spec.rb +8 -0
- data/tasks.rb +37 -0
- metadata +238 -0
@@ -0,0 +1,65 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require "fileutils"
|
4
|
+
require "nake/colors"
|
5
|
+
|
6
|
+
module Nake
|
7
|
+
module TaskHelpers
|
8
|
+
include FileUtils
|
9
|
+
def run(*parts)
|
10
|
+
puts parts.join(" ").cyan
|
11
|
+
system(*parts)
|
12
|
+
end
|
13
|
+
|
14
|
+
# return true if process suceeded, false otherwise
|
15
|
+
# sh "ls -a"
|
16
|
+
# sh "ls", "-a"
|
17
|
+
def sh(*parts)
|
18
|
+
puts "#{"$".magenta} #{parts.join(" ").cyan}"
|
19
|
+
system("sh", "-c", *parts)
|
20
|
+
end
|
21
|
+
|
22
|
+
# zsh "ls .*(.)"
|
23
|
+
def zsh(*parts)
|
24
|
+
puts "#{"%".magenta} #{parts.join(" ").cyan}"
|
25
|
+
system("zsh", "-c", *parts)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
module PrintHelpers
|
30
|
+
def info(message)
|
31
|
+
puts "~ #{message}".cyan if Nake.verbose
|
32
|
+
end
|
33
|
+
|
34
|
+
def note(message)
|
35
|
+
puts "~ #{message}".green if Nake.verbose
|
36
|
+
end
|
37
|
+
|
38
|
+
def warn(message)
|
39
|
+
Kernel.warn("~ #{message.yellow}") if Nake.debug
|
40
|
+
end
|
41
|
+
|
42
|
+
def debug(message)
|
43
|
+
STDERR.puts("~ #{message.yellow}") if Nake.debug
|
44
|
+
end
|
45
|
+
|
46
|
+
def error(message)
|
47
|
+
STDERR.puts "~ #{message}".red
|
48
|
+
end
|
49
|
+
|
50
|
+
def abort(message)
|
51
|
+
Kernel.abort "[#{"ERROR".red}] #{message}"
|
52
|
+
end
|
53
|
+
|
54
|
+
def print_exception_and_abort(exception)
|
55
|
+
abort exception.message
|
56
|
+
end
|
57
|
+
|
58
|
+
def print_exception_with_backtrace_and_abort(exception)
|
59
|
+
abort [exception.message, exception.backtrace.join("\n- ")].join("\n")
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
Object.send(:include, Nake::TaskHelpers)
|
65
|
+
Object.send(:include, Nake::PrintHelpers)
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Rake
|
2
|
+
def self.method_missing
|
3
|
+
raise NotImplementedError
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.const_missing(constant)
|
7
|
+
raise NotImplementedError, "Nake doesn't support Rake::#{constant}, please use normal Rake"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
# lazy-loading FTW!
|
12
|
+
def Object.const_missing(constant)
|
13
|
+
if constant.eql?(:FileList)
|
14
|
+
begin
|
15
|
+
require "filelist"
|
16
|
+
FileList
|
17
|
+
rescue LoadError
|
18
|
+
raise LoadError, "You have to install filelist gem!"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
module Nake
|
24
|
+
module RakeDSL
|
25
|
+
def task
|
26
|
+
end
|
27
|
+
|
28
|
+
def file
|
29
|
+
end
|
30
|
+
|
31
|
+
def rule
|
32
|
+
end
|
33
|
+
|
34
|
+
def multitask
|
35
|
+
raise NotImplementedError, "Multitask method won't be supported"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require "nake/abstract_task"
|
4
|
+
|
5
|
+
module Nake
|
6
|
+
class Rule < AbstractTask
|
7
|
+
undef_method :hidden, :hidden=
|
8
|
+
class << self
|
9
|
+
undef_method :tasks
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.rules
|
13
|
+
@@rules ||= Hash.new
|
14
|
+
end
|
15
|
+
|
16
|
+
# Rule["test.o"]
|
17
|
+
# # => rule with pattern ".o"
|
18
|
+
def self.[](file)
|
19
|
+
self.rules.find { |rule| rule.match?(file.to_s) }
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.[]=(pattern, rule)
|
23
|
+
self.rules[pattern.to_s] = rule
|
24
|
+
end
|
25
|
+
|
26
|
+
alias_method :pattern, :name
|
27
|
+
def match?(file)
|
28
|
+
#
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
# Somewhat like method_missing:
|
33
|
+
# If you can't find a task, try to look for a rule
|
34
|
+
AbstractTask.tasks.default_proc = lambda { |hash, name| Rule[name] }
|
35
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# options.extend(HashStructMixin)
|
4
|
+
# options.name
|
5
|
+
# options.force?
|
6
|
+
module Nake
|
7
|
+
module HashStructMixin
|
8
|
+
def method_missing(name, *args, &block)
|
9
|
+
if args.empty? && block.nil?
|
10
|
+
# options.name
|
11
|
+
if value = self[name]
|
12
|
+
return value
|
13
|
+
# options.force?
|
14
|
+
elsif name.to_s.match(/^(.*)\?$/) && value = self[$1.to_sym]
|
15
|
+
return value
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
super(name, *args, &block)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require "nake/task"
|
4
|
+
|
5
|
+
# NOTE: if you have bundler bundled locally, just
|
6
|
+
# add bundler/lib into $: and this task will work
|
7
|
+
Nake::Task.new(:bundle) do |task|
|
8
|
+
task.description = "Install your gems locally from gems/cache via bundler"
|
9
|
+
|
10
|
+
# define bundler method, so we can test it
|
11
|
+
task.define_singleton_method(:bundler) do
|
12
|
+
@bundler ||= Gem::Commands::BundleCommand.new
|
13
|
+
end
|
14
|
+
|
15
|
+
# task definition
|
16
|
+
task.define do |*args, options|
|
17
|
+
require 'rubygems'
|
18
|
+
require 'rubygems/command'
|
19
|
+
|
20
|
+
begin
|
21
|
+
require 'bundler'
|
22
|
+
require 'bundler/commands/bundle_command'
|
23
|
+
rescue LoadError
|
24
|
+
abort "You have to have bundler installed!"
|
25
|
+
end
|
26
|
+
|
27
|
+
args.push("--cached") unless options.delete[:cached]
|
28
|
+
self.bundler.invoke(*task.original_args)
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require "nake/dsl"
|
4
|
+
|
5
|
+
# require "nake/tasks/clean"
|
6
|
+
# Task[:clean].config[:files] = Dir["*.gem"]
|
7
|
+
Task.new(:clean) do |task|
|
8
|
+
task.config[:files] = Array.new
|
9
|
+
task.define do
|
10
|
+
task.config[:files].each { |file| rm_f file }
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require "nake/dsl"
|
4
|
+
require "nake/tasks/clean"
|
5
|
+
|
6
|
+
# register gem files for cleaning
|
7
|
+
Task[:clean].config[:files].push(*Dir["*.gem"])
|
8
|
+
|
9
|
+
module Nake::PackageMixin
|
10
|
+
def gem_name
|
11
|
+
"#{Task[:release].config[:name]}-#{Task[:release].config[:version]}.gem"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
# require "nake/tasks/gem"
|
16
|
+
# Task[:build].config[:gemspec] = Dir["*.gemspec"]
|
17
|
+
Task.new(:build) do |task|
|
18
|
+
task.define do
|
19
|
+
sh "gem build #{task.config[:gemspec]}"
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
Task.new(:install, :build) do |task|
|
24
|
+
task.extend(PackageMixin)
|
25
|
+
task.description = "Install"
|
26
|
+
task.define do
|
27
|
+
sh "gem install #{self.gem_name}"
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require "nake/tasks/gem"
|
4
|
+
|
5
|
+
# require "nake/tasks/release"
|
6
|
+
# Task[:release].config[:version] = Nake::VERSION
|
7
|
+
task(:release, "release:tag", "release:gemcutter").tap do |task|
|
8
|
+
task.description = "Release current version version"
|
9
|
+
task.define do
|
10
|
+
puts "Version #{task.config[:version]} was successfuly published. Don't forget to increase VERSION constant!"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
task(:prerelease).tap do |task|
|
15
|
+
task.description = "Update prerelease version"
|
16
|
+
task.define do
|
17
|
+
Task[:release].config[:version] = "#{Task[:release].config[:version]}.pre"
|
18
|
+
Task[:build].config[:gemspec] = Task[:build].config[:gemspec].sub(/\.gemspec/, ".pre.gemspec")
|
19
|
+
Task["release:gemcutter"].call
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
Task.new("release:tag") do |task|
|
24
|
+
task.description = "Create Git tag"
|
25
|
+
task.define do
|
26
|
+
version = Task[:release].config[:version]
|
27
|
+
raise ConfigurationError, "You have to provide Task[:release].config[:version]!" if version.nil?
|
28
|
+
puts "Creating new git tag #{version} and pushing it online ..."
|
29
|
+
sh "git tag -a -m 'Version #{version}' #{version}"
|
30
|
+
sh "git push --tags"
|
31
|
+
puts "Tag #{version} was created and pushed to GitHub."
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
Task.new("release:gemcutter") do |task|
|
36
|
+
task.description = "Push gem to Gemcutter"
|
37
|
+
task.dependencies = [:clean, :build]
|
38
|
+
task.extend(PackageMixin)
|
39
|
+
task.define do
|
40
|
+
puts "Pushing to Gemcutter ..."
|
41
|
+
sh "gem push #{self.gem_name}"
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
begin
|
4
|
+
require "recho"
|
5
|
+
rescue LoadError
|
6
|
+
raise LoadError, "This task require recho gem!"
|
7
|
+
end
|
8
|
+
|
9
|
+
require "nake/file_task"
|
10
|
+
|
11
|
+
# FileTask["deps.rip"].config[:versions] = {rack: "1.0.1", media_path: "SHA1"}
|
12
|
+
|
13
|
+
# register task
|
14
|
+
#Task[:release].dependencies.unshift("deps.rip")
|
15
|
+
|
16
|
+
# deps.rip.str:
|
17
|
+
##!/usr/bin/env rip install
|
18
|
+
#
|
19
|
+
## Syntax:
|
20
|
+
## repository [tag or commit to install]
|
21
|
+
#git://github.com/botanicus/media-path.git %{media_path}
|
22
|
+
#git://github.com/rack/rack.git %{rack}
|
23
|
+
|
24
|
+
FileTask.new("deps.rip", "deps.rip.str") do |task|
|
25
|
+
task.config[:versions] = Hash.new
|
26
|
+
task.description = "Regenerate deps.rip"
|
27
|
+
task.define do
|
28
|
+
data = File.read("deps.rip.str")
|
29
|
+
dependencies = "%Q{#{data}}" % task.config[:versions]
|
30
|
+
FileUtils.echo("deps.str") > dependencies
|
31
|
+
sh "chmod +x deps.rip"
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# ./tasks.rb spec/nake/argv_spec.rb spec/nake/task_spec.rb
|
4
|
+
task(:spec) do |*paths, options|
|
5
|
+
paths.push("spec") if paths.empty?
|
6
|
+
sh "spec", *paths
|
7
|
+
end
|
8
|
+
|
9
|
+
Task.new("spec:stubs") do |task|
|
10
|
+
task.description = "Create stubs of all library files."
|
11
|
+
task.define do
|
12
|
+
Dir.glob("lib/**/*.rb").each do |file|
|
13
|
+
specfile = file.sub(/^lib/, "spec").sub(/\.rb$/, '_spec.rb')
|
14
|
+
unless File.exist?(specfile)
|
15
|
+
sh "mkdir -p #{File.dirname(specfile)}"
|
16
|
+
sh "touch #{specfile}"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module Nake
|
4
|
+
module TaskHelpers
|
5
|
+
def template(source, target, context = Hash.new)
|
6
|
+
template = Template.new(source)
|
7
|
+
File.open(target, "w") do |file|
|
8
|
+
file.puts(template.render(context))
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def erb(source, target, context = Hash.new)
|
13
|
+
template = ErbTemplate.new(source)
|
14
|
+
File.open(target, "w") do |file|
|
15
|
+
file.puts(template.render(context))
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
class Template
|
21
|
+
def initialize(path)
|
22
|
+
@path = path
|
23
|
+
end
|
24
|
+
|
25
|
+
def render(context = Hash.new)
|
26
|
+
File.read(@path) % context
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class ErbTemplate
|
31
|
+
def initialize(path)
|
32
|
+
require "erb"
|
33
|
+
@path = path
|
34
|
+
end
|
35
|
+
|
36
|
+
def set_locals(context)
|
37
|
+
context.inject("") do |source, pair|
|
38
|
+
source += "#{pair.first} = context[:#{pair.first}]\n"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def source(context)
|
43
|
+
["<% #{self.set_locals(context)} %>", File.read(@path)].join("")
|
44
|
+
end
|
45
|
+
|
46
|
+
def render(context = Hash.new)
|
47
|
+
template = ERB.new(self.source(context))
|
48
|
+
template.result(binding)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
Binary file
|
@@ -0,0 +1,42 @@
|
|
1
|
+
#!/usr/bin/env gem build
|
2
|
+
# encoding: utf-8
|
3
|
+
|
4
|
+
# NOTE: we can't use require_relative because when we run gem build, it use eval for executing this file
|
5
|
+
#$:.unshift(File.join(File.dirname(__FILE__), "lib"))
|
6
|
+
#require "nake"
|
7
|
+
|
8
|
+
Gem::Specification.new do |s|
|
9
|
+
s.name = "nake"
|
10
|
+
s.version = "0.0.8"
|
11
|
+
s.authors = ["Jakub Šťastný aka Botanicus"]
|
12
|
+
s.homepage = "http://github.com/botanicus/nake"
|
13
|
+
s.summary = "Nake is light-weight and highly flexible Rake replacement with much better arguments parsing"
|
14
|
+
s.description = "" # TODO: long description
|
15
|
+
s.cert_chain = nil
|
16
|
+
s.email = ["knava.bestvinensis", "gmail.com"].join("@")
|
17
|
+
s.has_rdoc = true
|
18
|
+
|
19
|
+
# files
|
20
|
+
s.files = Dir.glob("**/*")
|
21
|
+
s.executables = ["nake"]
|
22
|
+
s.default_executable = "nake"
|
23
|
+
s.require_paths = ["lib"]
|
24
|
+
|
25
|
+
# Ruby version
|
26
|
+
s.required_ruby_version = ::Gem::Requirement.new("~> 1.9")
|
27
|
+
|
28
|
+
# dependencies
|
29
|
+
s.add_dependency "term-ansicolor"
|
30
|
+
|
31
|
+
begin
|
32
|
+
require "changelog"
|
33
|
+
rescue LoadError
|
34
|
+
warn "You have to have changelog gem installed for post install message"
|
35
|
+
else
|
36
|
+
changelog = CHANGELOG.new(File.join(File.dirname(__FILE__), "CHANGELOG"))
|
37
|
+
s.post_install_message = "=== Changes in the last Nake ===\n- #{changelog.last_version_changes.join("\n- ")}"
|
38
|
+
end
|
39
|
+
|
40
|
+
# RubyForge
|
41
|
+
s.rubyforge_project = "nake"
|
42
|
+
end
|