simple-templater 0.0.1.6 → 0.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/Gemfile +2 -5
- data/LICENSE +1 -1
- data/Rakefile +33 -0
- data/bin/simple-templater +6 -10
- data/lib/simple-templater/builder.rb +5 -5
- data/lib/simple-templater/generator.rb +4 -4
- data/lib/simple-templater/generator_set.rb +1 -1
- data/lib/simple-templater/helpers.rb +2 -2
- data/lib/simple-templater/hooks/hook.rb +2 -2
- data/lib/simple-templater/version.rb +7 -0
- data/lib/simple-templater.rb +0 -8
- data/simple-templater.gemspec +4 -15
- data/simple-templater.pre.gemspec +33 -4
- data/spec/stubs/test_generator/test_generator.gemspec +1 -1
- data/stubs/project/content/%name%.gemspec.rbt +7 -17
- data/stubs/project/content/CHANGELOG +1 -1
- data/stubs/project/content/README.textile.rbt +2 -2
- data/stubs/project/content/Rakefile +39 -0
- data/stubs/project/content/bin/%name%.rbt +0 -1
- data/stubs/project/content/lib/%name%.rb.rbt +1 -0
- data/stubs/project/content/spec/spec_helper.rb.rbt +8 -4
- data/tasks/benchmark.rake +11 -0
- data/tasks/gem.rake +23 -0
- data/tasks/hooks.rake +12 -0
- data/tasks/release.rake +68 -0
- data/tasks/spec.rake +27 -0
- data/tasks/submodules.rake +33 -0
- data/tasks/yardoc.rake +9 -0
- metadata +89 -111
- data/.gitignore +0 -9
- data/gems/cache/abstract-1.0.0.gem +0 -0
- data/gems/cache/erubis-2.6.5.gem +0 -0
- data/gems/cache/haml-2.2.16.gem +0 -0
- data/gems/cache/nake-0.0.8.gem +0 -0
- data/gems/cache/rspec-1.2.9.gem +0 -0
- data/gems/cache/term-ansicolor-1.0.4.gem +0 -0
- data/stubs/project/content/%name%.pre.gemspec.rbt +0 -8
- data/stubs/project/content/.gitignore +0 -12
- data/stubs/project/content/Gemfile +0 -8
- data/stubs/project/content/examples/.gitignore +0 -0
- data/stubs/project/content/lib/%name%/.gitignore +0 -0
- data/stubs/project/content/lib/%name%/version.rb.rbt +0 -5
- data/stubs/project/content/spec/%name%/.gitignore +0 -0
- data/stubs/project/content/tasks/%name%.nake +0 -0
- data/stubs/project/content/tasks.rb.rbt +0 -38
- data/stubs/stub/content/content/.gitignore +0 -0
- data/tasks.rb +0 -38
data/Gemfile
CHANGED
data/LICENSE
CHANGED
data/Rakefile
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require_relative "lib/simple-templater/version"
|
4
|
+
|
5
|
+
# ENV setup for external commands
|
6
|
+
ENV["RUBYLIB"] = Dir["gems/gems/*/lib"].join(":")
|
7
|
+
$LOAD_PATH.clear.push(*Dir["gems/gems/*/lib"])
|
8
|
+
|
9
|
+
# encoding
|
10
|
+
Encoding.default_internal = "utf-8"
|
11
|
+
Encoding.default_external = "utf-8"
|
12
|
+
|
13
|
+
# http://support.runcoderun.com/faqs/builds/how-do-i-run-rake-with-trace-enabled
|
14
|
+
Rake.application.options.trace = true
|
15
|
+
|
16
|
+
task :bundle do
|
17
|
+
# NOTE: the sense of the checkout is to avoid overwriting our changes in scripts
|
18
|
+
exec "gem bundle --cached && git checkout script"
|
19
|
+
end
|
20
|
+
|
21
|
+
# default task for RunCodeRun.com
|
22
|
+
task :default => [:bundle, :spec]
|
23
|
+
|
24
|
+
# load tasks
|
25
|
+
Dir["tasks/*.rake"].each do |taskfile|
|
26
|
+
begin
|
27
|
+
load File.join(Dir.pwd, taskfile)
|
28
|
+
rescue Exception => exception
|
29
|
+
puts "Exception #{exception.class} occured during loading #{taskfile}:"
|
30
|
+
puts exception.message
|
31
|
+
puts exception.backtrace
|
32
|
+
end
|
33
|
+
end
|
data/bin/simple-templater
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#!/usr/bin/env
|
1
|
+
#!/usr/bin/env ruby1.9
|
2
2
|
# encoding: utf-8
|
3
3
|
|
4
4
|
# --list (scope): list all generators available for given scope or just list all generators
|
@@ -37,21 +37,17 @@ require "simple-templater"
|
|
37
37
|
def usage
|
38
38
|
<<-HELP
|
39
39
|
=== Usage ===
|
40
|
-
|
41
|
-
|
40
|
+
rango create project mycoolproject Generate new site
|
41
|
+
rango create app mycoolapp Generate new application
|
42
42
|
HELP
|
43
43
|
end
|
44
44
|
|
45
45
|
begin
|
46
|
-
|
47
|
-
|
48
|
-
rescue
|
49
|
-
usage
|
50
|
-
end
|
51
|
-
generator_name = ARGV.shift || abort(usage)
|
46
|
+
ARGV.shift # create
|
47
|
+
generator_name = ARGV.shift
|
52
48
|
templater = SimpleTemplater.new(:simple_templater)
|
53
49
|
# This enables you to create custom generators for Rango
|
54
|
-
load
|
50
|
+
load "simple-templater.scope" # neccesary if we run rango locally and not from RubyGems
|
55
51
|
templater.discover!
|
56
52
|
generator_set = templater.find(generator_name)
|
57
53
|
if generator_set.nil?
|
@@ -21,7 +21,7 @@ class SimpleTemplater
|
|
21
21
|
class Builder
|
22
22
|
def self.create(*args)
|
23
23
|
templater = self.new(*args)
|
24
|
-
puts
|
24
|
+
puts("Context: #{templater.context.inspect}")
|
25
25
|
templater.create
|
26
26
|
end
|
27
27
|
|
@@ -84,9 +84,9 @@ class SimpleTemplater
|
|
84
84
|
|
85
85
|
if template.end_with?(".rbt")
|
86
86
|
if File.exist?(file)
|
87
|
-
puts
|
87
|
+
puts("[RETEMPLATE] #{file} (from #{template})")
|
88
88
|
else
|
89
|
-
puts
|
89
|
+
puts("[TEMPLATE] #{file} (from #{template})")
|
90
90
|
end
|
91
91
|
File.open(file, "w") do |file|
|
92
92
|
eruby = Erubis::Eruby.new(File.read(template))
|
@@ -104,10 +104,10 @@ class SimpleTemplater
|
|
104
104
|
# do nothing
|
105
105
|
# it shouldn't get here never, we have File.directory? above
|
106
106
|
elsif File.file?(file)
|
107
|
-
puts
|
107
|
+
puts("[RECOPY] #{file} (from #{template})")
|
108
108
|
FileUtils.cp_f(template, file)
|
109
109
|
else
|
110
|
-
puts
|
110
|
+
puts("[COPY] #{file} (from #{template})")
|
111
111
|
FileUtils.cp(template, file)
|
112
112
|
end
|
113
113
|
end
|
@@ -65,9 +65,9 @@ class SimpleTemplater
|
|
65
65
|
if self.full? && Dir.exist?(self.target) # has to run after setup.rb hook, because setup.rb can manipulate with target
|
66
66
|
raise TargetAlreadyExist, "#{self.target} already exist, aborting."
|
67
67
|
end
|
68
|
-
puts
|
68
|
+
puts("[#{self.name} generator] Running before hooks #{self.before_hooks.inspect}")
|
69
69
|
self.run_hooks(:before)
|
70
|
-
puts
|
70
|
+
puts("[#{self.name} generator] Creating #{@target} (#{self.config.type})")
|
71
71
|
if self.flat?
|
72
72
|
# flat/content/flat.ru.rbt
|
73
73
|
# flat/content/%user%.rb
|
@@ -85,9 +85,9 @@ class SimpleTemplater
|
|
85
85
|
|
86
86
|
def run_hook(basename)
|
87
87
|
if File.exist?(hook = file(basename))
|
88
|
-
puts
|
88
|
+
puts("Running #{basename} hook")
|
89
89
|
DSL.new(self).instance_eval(File.read(hook))
|
90
|
-
puts
|
90
|
+
puts("Finished")
|
91
91
|
end
|
92
92
|
rescue Exception => exception
|
93
93
|
abort "Exception #{exception.inspect} occured during running #{basename}\n#{exception.backtrace.join("\n")}"
|
@@ -6,7 +6,7 @@ class SimpleTemplater
|
|
6
6
|
module Helpers
|
7
7
|
extend self
|
8
8
|
|
9
|
-
def shebang(executable =
|
9
|
+
def shebang(executable = rubypath, *args)
|
10
10
|
if RUBY_PLATFORM.match(/darwin/)
|
11
11
|
self.env_shebang(executable, args)
|
12
12
|
else
|
@@ -14,7 +14,7 @@ class SimpleTemplater
|
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
|
-
def plain_shebang(executable =
|
17
|
+
def plain_shebang(executable = rubypath, *args)
|
18
18
|
"#!#{executable} #{args.join(" ")}".chomp(" ")
|
19
19
|
end
|
20
20
|
|
@@ -37,11 +37,11 @@ class SimpleTemplater
|
|
37
37
|
def self.invoke(context)
|
38
38
|
hook = self.new(context)
|
39
39
|
if hook.will_run?
|
40
|
-
puts
|
40
|
+
puts("Running hook #{self}")
|
41
41
|
hook.run
|
42
42
|
return true
|
43
43
|
else
|
44
|
-
puts
|
44
|
+
puts("Skipping hook #{self}")
|
45
45
|
return false
|
46
46
|
end
|
47
47
|
end
|
data/lib/simple-templater.rb
CHANGED
@@ -1,19 +1,11 @@
|
|
1
1
|
#!/usr/bin/env ruby -Ivendor/erubis/lib:vendor/abstract/lib:vendor/cli/lib
|
2
2
|
# encoding: utf-8
|
3
3
|
|
4
|
-
class Hash
|
5
|
-
def reverse_merge!(hash)
|
6
|
-
self.replace(hash.merge(self))
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
4
|
require "simple-templater/core_exts"
|
11
5
|
require "simple-templater/discoverer"
|
12
6
|
require "simple-templater/generator_set"
|
13
7
|
|
14
8
|
class SimpleTemplater
|
15
|
-
VERSION ||= "0.0.1.6"
|
16
|
-
|
17
9
|
GeneratorNotFound ||= Class.new(StandardError)
|
18
10
|
TargetAlreadyExist ||= Class.new(StandardError)
|
19
11
|
|
data/simple-templater.gemspec
CHANGED
@@ -2,8 +2,7 @@
|
|
2
2
|
# encoding: utf-8
|
3
3
|
|
4
4
|
# NOTE: we can't use require_relative because when we run gem build, it use eval for executing this file
|
5
|
-
require File.join(File.dirname(__FILE__), "lib", "simple-templater")
|
6
|
-
require "base64"
|
5
|
+
require File.join(File.dirname(__FILE__), "lib", "simple-templater", "version")
|
7
6
|
|
8
7
|
Gem::Specification.new do |s|
|
9
8
|
s.name = "simple-templater"
|
@@ -13,13 +12,12 @@ Gem::Specification.new do |s|
|
|
13
12
|
s.summary = "SimpleTemplater is dead-simple solution for creating generators."
|
14
13
|
s.description = "SimpleTemplater is dead-simple solution for creating generators. It strongly uses convention over configuration, so you don't have to write loads of code to generate one stupid plain text README."
|
15
14
|
s.cert_chain = nil
|
16
|
-
s.email =
|
15
|
+
s.email = ["knava.bestvinensis", "gmail.com"].join("@")
|
17
16
|
s.has_rdoc = true
|
18
17
|
|
19
18
|
# files
|
20
|
-
s.files =
|
21
|
-
|
22
|
-
Dir["bin/*"].map(&File.method(:basename))
|
19
|
+
s.files = Dir.glob("**/*") - Dir.glob("pkg/*")
|
20
|
+
s.executables = ["simple-templater"]
|
23
21
|
s.default_executable = "simple-templater"
|
24
22
|
s.require_paths = ["lib"]
|
25
23
|
|
@@ -28,21 +26,12 @@ Gem::Specification.new do |s|
|
|
28
26
|
|
29
27
|
# runtime dependencies
|
30
28
|
s.add_dependency "cli"
|
31
|
-
s.add_dependency "term-ansicolor"
|
32
29
|
s.add_dependency "erubis" # for generators
|
33
30
|
|
34
31
|
# development dependencies
|
35
32
|
# use gem install simple-templater --development if you want to install them
|
36
33
|
# s.add_development_dependency "erubis" # for generators
|
37
34
|
|
38
|
-
begin
|
39
|
-
require "changelog"
|
40
|
-
rescue LoadError
|
41
|
-
warn "You have to have changelog gem installed for post install message"
|
42
|
-
else
|
43
|
-
s.post_install_message = CHANGELOG.new.version_changes
|
44
|
-
end
|
45
|
-
|
46
35
|
# RubyForge
|
47
36
|
s.rubyforge_project = "simple-templater"
|
48
37
|
end
|
@@ -1,8 +1,37 @@
|
|
1
1
|
#!/usr/bin/env gem build
|
2
2
|
# encoding: utf-8
|
3
3
|
|
4
|
-
#
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
# NOTE: we can't use require_relative because when we run gem build, it use eval for executing this file
|
5
|
+
require File.join(File.dirname(__FILE__), "lib", "simple-templater", "version")
|
6
|
+
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "simple-templater"
|
9
|
+
s.version = '0.1.pre'
|
10
|
+
s.authors = ["Jakub Šťastný aka Botanicus"]
|
11
|
+
s.homepage = "http://github.com/botanicus/simple-templater"
|
12
|
+
s.summary = "SimpleTemplater is dead-simple solution for creating generators."
|
13
|
+
s.description = "SimpleTemplater is dead-simple solution for creating generators. It strongly uses convention over configuration, so you don't have to write loads of code to generate one stupid plain text README."
|
14
|
+
s.cert_chain = nil
|
15
|
+
s.email = ["knava.bestvinensis", "gmail.com"].join("@")
|
16
|
+
s.has_rdoc = true
|
17
|
+
|
18
|
+
# files
|
19
|
+
s.files = Dir.glob("**/*") - Dir.glob("pkg/*")
|
20
|
+
s.executables = ["simple-templater"]
|
21
|
+
s.default_executable = "simple-templater"
|
22
|
+
s.require_paths = ["lib"]
|
23
|
+
|
24
|
+
# Ruby version
|
25
|
+
s.required_ruby_version = ::Gem::Requirement.new("~> 1.9")
|
26
|
+
|
27
|
+
# runtime dependencies
|
28
|
+
s.add_dependency "cli"
|
29
|
+
s.add_dependency "erubis" # for generators
|
30
|
+
|
31
|
+
# development dependencies
|
32
|
+
# use gem install simple-templater --development if you want to install them
|
33
|
+
# s.add_development_dependency "erubis" # for generators
|
34
|
+
|
35
|
+
# RubyForge
|
36
|
+
s.rubyforge_project = "simple-templater"
|
8
37
|
end
|
@@ -1,26 +1,24 @@
|
|
1
|
-
#!/usr/bin/env
|
1
|
+
#!/usr/bin/env gem1.9 build
|
2
2
|
# encoding: utf-8
|
3
3
|
|
4
4
|
# Run ./<%= @name %>.gemspec or gem build <%= @name %>.gemspec
|
5
5
|
# NOTE: we can't use require_relative because when we run gem build, it use eval for executing this file
|
6
|
-
require File.join(File.dirname(__FILE__), "lib", "<%= @name %>"
|
7
|
-
require "base64"
|
6
|
+
require File.join(File.dirname(__FILE__), "lib", "<%= @name %>")
|
8
7
|
|
9
8
|
Gem::Specification.new do |s|
|
10
9
|
s.name = "<%= @name %>"
|
11
10
|
s.version = <%= @constant %>::VERSION
|
12
|
-
s.authors = ["<%= @
|
11
|
+
s.authors = ["<%= @name %>"]
|
13
12
|
s.homepage = "http://github.com/<%= @github_user %>/<%= @github_repository %>"
|
14
13
|
s.summary = "" # TODO: summary
|
15
14
|
s.description = "" # TODO: long description
|
16
15
|
s.cert_chain = nil
|
17
|
-
s.email =
|
16
|
+
s.email = # TODO: your mail
|
18
17
|
s.has_rdoc = true
|
19
18
|
|
20
19
|
# files
|
21
|
-
s.files =
|
22
|
-
|
23
|
-
s.executables = Dir["bin/*"].map(&File.method(:basename))
|
20
|
+
s.files = Dir.glob("**/*") - Dir.glob("pkg/*")
|
21
|
+
s.executables = Dir["bin/*"].map { |script| File.basename(script) }
|
24
22
|
s.default_executable = "<%= @name %>"
|
25
23
|
s.require_paths = ["lib"]
|
26
24
|
|
@@ -31,17 +29,9 @@ Gem::Specification.new do |s|
|
|
31
29
|
# s.add_dependency "my-gem"
|
32
30
|
|
33
31
|
# development dependencies
|
34
|
-
# use gem install
|
32
|
+
# use gem install rango --development if you want to install them
|
35
33
|
# s.add_development_dependency "simple-templater"
|
36
34
|
|
37
|
-
begin
|
38
|
-
require "changelog"
|
39
|
-
rescue LoadError
|
40
|
-
warn "You have to have changelog gem installed for post install message"
|
41
|
-
else
|
42
|
-
s.post_install_message = CHANGELOG.new.version_changes
|
43
|
-
end
|
44
|
-
|
45
35
|
# RubyForge
|
46
36
|
s.rubyforge_project = "<%= @name %>"
|
47
37
|
end
|
@@ -1,2 +1,2 @@
|
|
1
1
|
= Version 0.0.1
|
2
|
-
*
|
2
|
+
*
|
@@ -4,8 +4,8 @@ h1. About
|
|
4
4
|
|
5
5
|
h1. Installation
|
6
6
|
|
7
|
-
* Prerelease: @gem install <%= @name %> --development --prerelease@
|
8
|
-
* Stable version: @gem install <%= @name %> --development@
|
7
|
+
* Prerelease: @sudo gem install <%= @name %> --development --prerelease@
|
8
|
+
* Stable version: @sudo gem install <%= @name %> --development@
|
9
9
|
|
10
10
|
h1. Usage
|
11
11
|
|
@@ -0,0 +1,39 @@
|
|
1
|
+
#!/usr/bin/env rake1.9
|
2
|
+
# encoding: utf-8
|
3
|
+
|
4
|
+
# http://support.runcoderun.com/faqs/builds/how-do-i-run-rake-with-trace-enabled
|
5
|
+
Rake.application.options.trace = true
|
6
|
+
|
7
|
+
task :setup => ["submodules:init"]
|
8
|
+
|
9
|
+
namespace :submodules do
|
10
|
+
desc "Init submodules"
|
11
|
+
task :init do
|
12
|
+
sh "git submodule init"
|
13
|
+
end
|
14
|
+
|
15
|
+
desc "Update submodules"
|
16
|
+
task :update do
|
17
|
+
Dir["vendor/*"].each do |path|
|
18
|
+
if File.directory?(path) && File.directory?(File.join(path, ".git"))
|
19
|
+
Dir.chdir(path) do
|
20
|
+
puts "=> #{path}"
|
21
|
+
puts %x[git clean -fd]
|
22
|
+
puts %x[git reset --hard]
|
23
|
+
puts %x[git checkout master]
|
24
|
+
puts %x[git fetch]
|
25
|
+
puts %x[git reset origin/master --hard]
|
26
|
+
puts
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
desc "Run specs"
|
34
|
+
task :default => :setup do
|
35
|
+
rubylib = (ENV["RUBYLIB"] || String.new).split(":")
|
36
|
+
libdirs = Dir["vendor/*/lib"]
|
37
|
+
ENV["RUBYLIB"] = (libdirs + rubylib).join(":")
|
38
|
+
exec "./script/spec --options spec/spec.opts spec"
|
39
|
+
end
|
@@ -1,7 +1,11 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
#
|
4
|
-
|
3
|
+
# constants
|
4
|
+
SPEC_ROOT = File.dirname(__FILE__)
|
5
|
+
ROOT = File.expand_path(File.join(SPEC_ROOT, ".."))
|
6
|
+
LIBDIR = File.join(ROOT, "lib")
|
5
7
|
|
6
|
-
#
|
7
|
-
$:.unshift(
|
8
|
+
# load paths
|
9
|
+
$:.unshift(LIBDIR)
|
10
|
+
|
11
|
+
require "spec" # so you can run ruby spec/<%= @name %>/whatever_spec.rb
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# http://github.com/somebee/rbench/tree/master
|
4
|
+
desc "Run all benchmarks"
|
5
|
+
task :bm do
|
6
|
+
abort "Benchmarks doesn't work at the moment"
|
7
|
+
require "rbench"
|
8
|
+
Dir["#{Dir.pwd}/benchmarks/bm/*.rb"].each do |benchmark|
|
9
|
+
load benchmark
|
10
|
+
end
|
11
|
+
end
|
data/tasks/gem.rake
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
desc "Build the gem"
|
4
|
+
task :build do
|
5
|
+
sh "gem build simple-templater.gemspec"
|
6
|
+
end
|
7
|
+
|
8
|
+
namespace :build do
|
9
|
+
desc "Build the prerelease gem"
|
10
|
+
task :prerelease do
|
11
|
+
gemspec = "simple-templater.gemspec"
|
12
|
+
content = File.read(gemspec)
|
13
|
+
prename = "#{gemspec.split(".").first}.pre.gemspec"
|
14
|
+
# 0.1.1 => 0.2
|
15
|
+
version = SimpleTemplater::VERSION.sub(/^(\d+)\.(\d+).*$/) { "#$1.#{$2.to_i + 1}" }
|
16
|
+
puts "Current #{SimpleTemplater::VERSION} => #{version} pre"
|
17
|
+
File.open(prename, "w") do |file|
|
18
|
+
file.puts(content.gsub(/(\w+::VERSION)/, "'#{version}.pre'"))
|
19
|
+
end
|
20
|
+
sh "gem build #{prename}"
|
21
|
+
rm prename
|
22
|
+
end
|
23
|
+
end
|
data/tasks/hooks.rake
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
desc "Install Git hooks"
|
4
|
+
task :hooks do
|
5
|
+
if Dir.exist?(".git/hooks")
|
6
|
+
abort "You must remove .git/hooks first"
|
7
|
+
else
|
8
|
+
# do not symlink them, otherwise git will add samples
|
9
|
+
# FIXME: permissions
|
10
|
+
cp_r "support/hooks", ".git/hooks"
|
11
|
+
end
|
12
|
+
end
|
data/tasks/release.rake
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
desc "Release new version of simple-templater"
|
4
|
+
task release: ["deps.rip", "version:increase", "release:tag", "release:gemcutter"]
|
5
|
+
|
6
|
+
namespace :version do
|
7
|
+
task :increase do
|
8
|
+
puts "Which version are you just releasing (previous version is #{SimpleTemplater::VERSION})"
|
9
|
+
version = STDIN.gets.chomp
|
10
|
+
File.open("lib/simple-templater/version.rb", "w") do |file|
|
11
|
+
file.puts <<-EOF
|
12
|
+
# encoding: utf-8
|
13
|
+
|
14
|
+
# NOTE: Do not edit this file manually, this
|
15
|
+
# file is regenerated by task rake version:increase
|
16
|
+
module SimpleTemplater
|
17
|
+
VERSION ||= "#{version}"
|
18
|
+
end
|
19
|
+
EOF
|
20
|
+
end
|
21
|
+
|
22
|
+
SimpleTemplater.const_set("VERSION", version) # so other release tasks will work
|
23
|
+
sh "git commit lib/simple-templater/version.rb -m 'Increased version to #{version}'"
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
namespace :release do
|
28
|
+
desc "Create Git tag"
|
29
|
+
task :tag do
|
30
|
+
puts "Creating new git tag #{SimpleTemplater::VERSION} and pushing it online ..."
|
31
|
+
sh "git tag -a -m 'Version #{SimpleTemplater::VERSION}' #{SimpleTemplater::VERSION}"
|
32
|
+
sh "git push --tags"
|
33
|
+
puts "Tag #{SimpleTemplater::VERSION} was created and pushed to GitHub."
|
34
|
+
end
|
35
|
+
|
36
|
+
desc "Push gem to Gemcutter"
|
37
|
+
task :gemcutter => :build do
|
38
|
+
puts "Pushing to Gemcutter ..."
|
39
|
+
sh "gem push #{Dir["*.gem"].last}"
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
desc "Create and push prerelease gem"
|
44
|
+
task :prerelease => "build:prerelease" do
|
45
|
+
puts "Pushing to Gemcutter ..."
|
46
|
+
sh "gem push #{Dir["*.pre.gem"].last}"
|
47
|
+
end
|
48
|
+
|
49
|
+
dependencies = FileList["vendor/*/.git"].sub(/\/\.git$/, "")
|
50
|
+
|
51
|
+
desc "Regenerate deps.rip"
|
52
|
+
file "deps.rip" => dependencies do
|
53
|
+
commits = Hash.new
|
54
|
+
commits = dependencies.inject(Hash.new) do |hash, path|
|
55
|
+
Dir.chdir(path) do
|
56
|
+
revision = %x(git show | head -1).chomp.sub("commit ", "")
|
57
|
+
hash[File.basename(path)] = revision
|
58
|
+
hash
|
59
|
+
end
|
60
|
+
end
|
61
|
+
template = File.read("deps.rip.rbe")
|
62
|
+
deps_rip = eval("%Q{#{template}}")
|
63
|
+
File.open("deps.rip", "w") do |file|
|
64
|
+
file.puts(deps_rip)
|
65
|
+
end
|
66
|
+
sh "chmod +x deps.rip"
|
67
|
+
sh "git commit deps.rip -m 'Updated deps.rip'"
|
68
|
+
end
|
data/tasks/spec.rake
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
desc "Run specs"
|
4
|
+
task :spec, :spec do |task, args|
|
5
|
+
exec "./script/spec --options spec/spec.opts #{args.spec || "spec"}"
|
6
|
+
end
|
7
|
+
|
8
|
+
desc "Create stubs of all library files."
|
9
|
+
task "spec:stubs" do
|
10
|
+
Dir.glob("lib/**/*.rb").each do |file|
|
11
|
+
specfile = file.sub(/^lib/, "spec").sub(/\.rb$/, '_spec.rb')
|
12
|
+
unless File.exist?(specfile)
|
13
|
+
%x[mkdir -p #{File.dirname(specfile)}]
|
14
|
+
%x[touch #{specfile}]
|
15
|
+
puts "Created #{specfile}"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
(Dir.glob("spec/simple-templater/**/*.rb") + ["spec/simple-teplater_spec.rb"]).each do |file|
|
19
|
+
libfile = file.sub(/spec/, "lib").sub(/_spec\.rb$/, '.rb')
|
20
|
+
if !File.exist?(libfile) && File.zero?(file)
|
21
|
+
%x[rm #{file}]
|
22
|
+
puts "Removed empty file #{file}"
|
23
|
+
elsif !File.exist?(libfile)
|
24
|
+
puts "File exists just in spec, not in lib: #{file}"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# === Helpers === #
|
4
|
+
def submodules(&block)
|
5
|
+
File.foreach(File.join(File.dirname(__FILE__), "..", ".gitmodules")) do |line|
|
6
|
+
if line.match(%r{submodule "(.+)"})
|
7
|
+
block.call($1)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
# === Tasks === #
|
13
|
+
namespace :submodules do
|
14
|
+
desc "Init submodules"
|
15
|
+
task :init do
|
16
|
+
sh "git submodule init"
|
17
|
+
end
|
18
|
+
|
19
|
+
desc "Update submodules"
|
20
|
+
task :update do
|
21
|
+
submodules do |path|
|
22
|
+
if File.directory?(path) && File.directory?(File.join(path, ".git"))
|
23
|
+
Dir.chdir(path) do
|
24
|
+
puts "=> #{path}"
|
25
|
+
sh "git reset --hard"
|
26
|
+
sh "git fetch"
|
27
|
+
sh "git reset origin/master --hard"
|
28
|
+
puts
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/tasks/yardoc.rake
ADDED
@@ -0,0 +1,9 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# template, textile or rdoc or md
|
4
|
+
# -t: template [available: default, javadoc]
|
5
|
+
# -m: markup style used in documentation [available: textile, markdown, rdoc]
|
6
|
+
desc "Generate Yardoc documentation for simple-templater"
|
7
|
+
task :yardoc do
|
8
|
+
sh "yardoc -r README.textile lib/**/*.rb -t default"
|
9
|
+
end
|
metadata
CHANGED
@@ -1,161 +1,139 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple-templater
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
version: 0.0.1.6
|
4
|
+
version: 0.1.pre
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- "Jakub \xC5\xA0\xC5\xA5astn\xC3\xBD aka Botanicus"
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain:
|
12
|
-
date:
|
11
|
+
date: 2010-01-01 00:00:00 +00:00
|
13
12
|
default_executable: simple-templater
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: cli
|
17
|
-
prerelease: false
|
18
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
|
-
requirements:
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: "0"
|
24
16
|
type: :runtime
|
25
|
-
|
26
|
-
|
27
|
-
name: term-ansicolor
|
28
|
-
prerelease: false
|
29
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
30
|
-
none: false
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
31
19
|
requirements:
|
32
20
|
- - ">="
|
33
21
|
- !ruby/object:Gem::Version
|
34
22
|
version: "0"
|
35
|
-
|
36
|
-
version_requirements: *id002
|
23
|
+
version:
|
37
24
|
- !ruby/object:Gem::Dependency
|
38
25
|
name: erubis
|
39
|
-
|
40
|
-
|
41
|
-
|
26
|
+
type: :runtime
|
27
|
+
version_requirement:
|
28
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
29
|
requirements:
|
43
30
|
- - ">="
|
44
31
|
- !ruby/object:Gem::Version
|
45
32
|
version: "0"
|
46
|
-
|
47
|
-
version_requirements: *id003
|
33
|
+
version:
|
48
34
|
description: SimpleTemplater is dead-simple solution for creating generators. It strongly uses convention over configuration, so you don't have to write loads of code to generate one stupid plain text README.
|
49
|
-
email:
|
50
|
-
executables:
|
51
|
-
|
35
|
+
email: knava.bestvinensis@gmail.com
|
36
|
+
executables:
|
37
|
+
- simple-templater
|
52
38
|
extensions: []
|
53
39
|
|
54
40
|
extra_rdoc_files: []
|
55
41
|
|
56
42
|
files:
|
57
|
-
- .gitignore
|
58
43
|
- CHANGELOG
|
59
|
-
- Gemfile
|
60
|
-
- LICENSE
|
61
|
-
- README.textile
|
62
|
-
- TODO.txt
|
63
|
-
- bin/simple-templater
|
64
44
|
- deps.rip
|
65
|
-
- deps.rip.rbe
|
66
|
-
- gems/cache/abstract-1.0.0.gem
|
67
|
-
- gems/cache/erubis-2.6.5.gem
|
68
|
-
- gems/cache/haml-2.2.16.gem
|
69
|
-
- gems/cache/nake-0.0.8.gem
|
70
|
-
- gems/cache/rspec-1.2.9.gem
|
71
|
-
- gems/cache/term-ansicolor-1.0.4.gem
|
72
45
|
- lib/simple-templater.rb
|
73
|
-
- lib/simple-templater/
|
74
|
-
- lib/simple-templater/
|
75
|
-
- lib/simple-templater/
|
76
|
-
- lib/simple-templater/discoverer.rb
|
46
|
+
- lib/simple-templater/generator_set.rb
|
47
|
+
- lib/simple-templater/generator.rb
|
48
|
+
- lib/simple-templater/discoverers/rip.rb
|
77
49
|
- lib/simple-templater/discoverers/gems.rb
|
78
50
|
- lib/simple-templater/discoverers/plain.rb
|
79
|
-
- lib/simple-templater/discoverers/rip.rb
|
80
|
-
- lib/simple-templater/dsl.rb
|
81
|
-
- lib/simple-templater/generator.rb
|
82
|
-
- lib/simple-templater/generator_set.rb
|
83
51
|
- lib/simple-templater/helpers.rb
|
52
|
+
- lib/simple-templater/argv_parsing.rb
|
84
53
|
- lib/simple-templater/hooks/hook.rb
|
85
|
-
- lib/simple-templater/hooks/postprocess/git_repository.rb
|
86
54
|
- lib/simple-templater/hooks/postprocess/github.rb
|
87
|
-
- lib/simple-templater/hooks/
|
55
|
+
- lib/simple-templater/hooks/postprocess/git_repository.rb
|
88
56
|
- lib/simple-templater/hooks/preprocess/github.rb
|
89
|
-
-
|
57
|
+
- lib/simple-templater/hooks/preprocess/full_name.rb
|
58
|
+
- lib/simple-templater/discoverer.rb
|
59
|
+
- lib/simple-templater/core_exts.rb
|
60
|
+
- lib/simple-templater/dsl.rb
|
61
|
+
- lib/simple-templater/version.rb
|
62
|
+
- lib/simple-templater/builder.rb
|
63
|
+
- LICENSE
|
64
|
+
- README.textile
|
90
65
|
- simple-templater.gemspec
|
66
|
+
- Gemfile
|
67
|
+
- stubs/stub/metadata.yml
|
68
|
+
- stubs/stub/setup.rb
|
69
|
+
- stubs/stub/content/setup.rb
|
70
|
+
- stubs/stub/content/metadata.yml.rbt
|
71
|
+
- stubs/stub/content/postprocess.rb
|
72
|
+
- stubs/stub/postprocess.rb
|
73
|
+
- stubs/project/metadata.yml
|
74
|
+
- stubs/project/setup.rb
|
75
|
+
- stubs/project/content/CHANGELOG
|
76
|
+
- stubs/project/content/deps.rip
|
77
|
+
- stubs/project/content/%name%.gemspec.rbt
|
78
|
+
- stubs/project/content/lib/%name%.rb.rbt
|
79
|
+
- stubs/project/content/LICENSE.rbt
|
80
|
+
- stubs/project/content/Rakefile
|
81
|
+
- stubs/project/content/README.textile.rbt
|
82
|
+
- stubs/project/content/bin/%name%.rbt
|
83
|
+
- stubs/project/content/TODO.txt
|
84
|
+
- stubs/project/content/spec/spec_helper.rb.rbt
|
85
|
+
- stubs/project/content/spec/spec.opts
|
86
|
+
- stubs/project/content/spec/%name%_spec.rb.rbt
|
87
|
+
- stubs/project/postprocess.rb
|
88
|
+
- script/spec
|
89
|
+
- tasks/benchmark.rake
|
90
|
+
- tasks/release.rake
|
91
|
+
- tasks/yardoc.rake
|
92
|
+
- tasks/hooks.rake
|
93
|
+
- tasks/gem.rake
|
94
|
+
- tasks/spec.rake
|
95
|
+
- tasks/submodules.rake
|
96
|
+
- Rakefile
|
91
97
|
- simple-templater.pre.gemspec
|
98
|
+
- deps.rip.rbe
|
92
99
|
- simple-templater.scope
|
93
|
-
-
|
94
|
-
-
|
95
|
-
- spec/simple-templater/discoverers/gems_spec.rb
|
96
|
-
- spec/simple-templater/discoverers/plain_spec.rb
|
97
|
-
- spec/simple-templater/discoverers/rip_spec.rb
|
98
|
-
- spec/simple-templater/generator_set_spec.rb
|
99
|
-
- spec/simple-templater/generator_spec.rb
|
100
|
-
- spec/simple-templater/helpers_spec.rb
|
101
|
-
- spec/simple-templater/hooks/hook_spec.rb
|
102
|
-
- spec/simple-templater/hooks/postprocess/git_repository_spec.rb
|
103
|
-
- spec/simple-templater/hooks/postprocess/github_spec.rb
|
104
|
-
- spec/simple-templater_spec.rb
|
105
|
-
- spec/spec.opts
|
100
|
+
- bin/simple-templater
|
101
|
+
- TODO.txt
|
106
102
|
- spec/spec_helper.rb
|
107
|
-
- spec/stubs/gems/cache/test_generator-0.0.1.gem
|
108
103
|
- spec/stubs/gems/gems/test_generator-0.0.1/simple-generator.scope
|
109
|
-
- spec/stubs/gems/gems/test_generator-0.0.1/
|
104
|
+
- spec/stubs/gems/gems/test_generator-0.0.1/test_generator.gemspec
|
105
|
+
- spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/script.rb.rbt
|
106
|
+
- spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/README.textile
|
110
107
|
- spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/%name%1_test.rb.rbt
|
111
108
|
- spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/%name%_test.rb
|
112
|
-
- spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/
|
113
|
-
- spec/stubs/gems/gems/test_generator-0.0.1/stubs/content/
|
109
|
+
- spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/script.rb.rbt
|
110
|
+
- spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/README.textile
|
114
111
|
- spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/%name%1_test.rb.rbt
|
115
112
|
- spec/stubs/gems/gems/test_generator-0.0.1/stubs/test/content/%name%_test.rb
|
116
|
-
- spec/stubs/gems/gems/test_generator-0.0.1/
|
117
|
-
- spec/stubs/gems/
|
118
|
-
- spec/stubs/gems/gems/test_generator-0.0.1/test_generator.gemspec
|
113
|
+
- spec/stubs/gems/gems/test_generator-0.0.1/simple-templater.scope
|
114
|
+
- spec/stubs/gems/cache/test_generator-0.0.1.gem
|
119
115
|
- spec/stubs/gems/specifications/test_generator-0.0.1.gemspec
|
120
|
-
- spec/stubs/
|
121
|
-
- spec/stubs/test_generator/
|
116
|
+
- spec/stubs/test_generator/test_generator.gemspec
|
117
|
+
- spec/stubs/test_generator/stubs/test/content/script.rb.rbt
|
118
|
+
- spec/stubs/test_generator/stubs/test/content/README.textile
|
122
119
|
- spec/stubs/test_generator/stubs/test/content/%name%1_test.rb.rbt
|
123
120
|
- spec/stubs/test_generator/stubs/test/content/%name%_test.rb
|
124
|
-
- spec/stubs/test_generator/
|
125
|
-
- spec/stubs/test_generator/stubs/test/content/script.rb.rbt
|
121
|
+
- spec/stubs/test_generator/simple-templater.scope
|
126
122
|
- spec/stubs/test_generator/test_generator-0.0.1.gem
|
127
|
-
- spec/stubs/
|
128
|
-
-
|
129
|
-
-
|
130
|
-
-
|
131
|
-
-
|
132
|
-
-
|
133
|
-
-
|
134
|
-
-
|
135
|
-
-
|
136
|
-
-
|
137
|
-
-
|
138
|
-
-
|
139
|
-
-
|
140
|
-
-
|
141
|
-
- stubs/project/content/lib/%name%/version.rb.rbt
|
142
|
-
- stubs/project/content/spec/%name%/.gitignore
|
143
|
-
- stubs/project/content/spec/%name%_spec.rb.rbt
|
144
|
-
- stubs/project/content/spec/spec.opts
|
145
|
-
- stubs/project/content/spec/spec_helper.rb.rbt
|
146
|
-
- stubs/project/content/tasks.rb.rbt
|
147
|
-
- stubs/project/content/tasks/%name%.nake
|
148
|
-
- stubs/project/metadata.yml
|
149
|
-
- stubs/project/postprocess.rb
|
150
|
-
- stubs/project/setup.rb
|
151
|
-
- stubs/stub/content/content/.gitignore
|
152
|
-
- stubs/stub/content/metadata.yml.rbt
|
153
|
-
- stubs/stub/content/postprocess.rb
|
154
|
-
- stubs/stub/content/setup.rb
|
155
|
-
- stubs/stub/metadata.yml
|
156
|
-
- stubs/stub/postprocess.rb
|
157
|
-
- stubs/stub/setup.rb
|
158
|
-
- tasks.rb
|
123
|
+
- spec/stubs/simple-templater.scope
|
124
|
+
- spec/simple-templater_spec.rb
|
125
|
+
- spec/spec.opts
|
126
|
+
- spec/simple-templater/generator_spec.rb
|
127
|
+
- spec/simple-templater/discoverers/plain_spec.rb
|
128
|
+
- spec/simple-templater/discoverers/rip_spec.rb
|
129
|
+
- spec/simple-templater/discoverers/gems_spec.rb
|
130
|
+
- spec/simple-templater/builder_spec.rb
|
131
|
+
- spec/simple-templater/argv_parsing_spec.rb
|
132
|
+
- spec/simple-templater/generator_set_spec.rb
|
133
|
+
- spec/simple-templater/hooks/hook_spec.rb
|
134
|
+
- spec/simple-templater/hooks/postprocess/git_repository_spec.rb
|
135
|
+
- spec/simple-templater/hooks/postprocess/github_spec.rb
|
136
|
+
- spec/simple-templater/helpers_spec.rb
|
159
137
|
has_rdoc: true
|
160
138
|
homepage: http://github.com/botanicus/simple-templater
|
161
139
|
licenses: []
|
@@ -166,21 +144,21 @@ rdoc_options: []
|
|
166
144
|
require_paths:
|
167
145
|
- lib
|
168
146
|
required_ruby_version: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
147
|
requirements:
|
171
148
|
- - ~>
|
172
149
|
- !ruby/object:Gem::Version
|
173
150
|
version: "1.9"
|
151
|
+
version:
|
174
152
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
|
-
none: false
|
176
153
|
requirements:
|
177
|
-
- - "
|
154
|
+
- - ">"
|
178
155
|
- !ruby/object:Gem::Version
|
179
|
-
version:
|
156
|
+
version: 1.3.1
|
157
|
+
version:
|
180
158
|
requirements: []
|
181
159
|
|
182
160
|
rubyforge_project: simple-templater
|
183
|
-
rubygems_version: 1.
|
161
|
+
rubygems_version: 1.3.5
|
184
162
|
signing_key:
|
185
163
|
specification_version: 3
|
186
164
|
summary: SimpleTemplater is dead-simple solution for creating generators.
|
data/.gitignore
DELETED
Binary file
|
data/gems/cache/erubis-2.6.5.gem
DELETED
Binary file
|
data/gems/cache/haml-2.2.16.gem
DELETED
Binary file
|
data/gems/cache/nake-0.0.8.gem
DELETED
Binary file
|
data/gems/cache/rspec-1.2.9.gem
DELETED
Binary file
|
Binary file
|
@@ -1,8 +0,0 @@
|
|
1
|
-
#!/usr/bin/env gem build
|
2
|
-
# encoding: utf-8
|
3
|
-
|
4
|
-
# You might think this is a terrible mess and guess what, you're
|
5
|
-
# right mate! However say thanks to authors of RubyGems, not me.
|
6
|
-
eval(File.read("<%= @name %>.gemspec")).tap do |specification|
|
7
|
-
specification.version = "#{specification.version}.pre"
|
8
|
-
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,38 +0,0 @@
|
|
1
|
-
#!/usr/bin/env nake
|
2
|
-
# encoding: utf-8
|
3
|
-
|
4
|
-
begin
|
5
|
-
require File.expand_path("../.bundle/environment", __FILE__)
|
6
|
-
rescue LoadError
|
7
|
-
require "bundler"
|
8
|
-
Bundler.setup
|
9
|
-
end
|
10
|
-
|
11
|
-
$LOAD_PATH.unshift(File.expand_path("../lib", __FILE__))
|
12
|
-
|
13
|
-
require "nake/tasks/gem"
|
14
|
-
require "nake/tasks/spec"
|
15
|
-
require "nake/tasks/release"
|
16
|
-
|
17
|
-
require_relative "lib/<%= @name %>/version"
|
18
|
-
|
19
|
-
begin
|
20
|
-
load "code-cleaner.nake"
|
21
|
-
Nake::Task["hooks:whitespace:install"].tap do |task|
|
22
|
-
task.config[:path] = "script"
|
23
|
-
task.config[:encoding] = "utf-8"
|
24
|
-
task.config[:whitelist] = '(bin/[^/]+|.+\.(rb|rake|nake|thor|task))$'
|
25
|
-
end
|
26
|
-
rescue LoadError
|
27
|
-
warn "If you want to contribute to <%= @constant %>, please install code-cleaner and then run ./tasks.rb hooks:whitespace:install to get Git pre-commit hook for removing trailing whitespace."
|
28
|
-
end
|
29
|
-
|
30
|
-
# Setup encoding, so all the operations
|
31
|
-
# with strings from another files will work
|
32
|
-
Encoding.default_internal = "utf-8"
|
33
|
-
Encoding.default_external = "utf-8"
|
34
|
-
|
35
|
-
Task[:build].config[:gemspec] = "<%= @name %>.gemspec"
|
36
|
-
Task[:prerelease].config[:gemspec] = "<%= @name %>.pre.gemspec"
|
37
|
-
Task[:release].config[:name] = "<%= @name %>"
|
38
|
-
Task[:release].config[:version] = <%= @constant %>::VERSION
|
File without changes
|
data/tasks.rb
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
#!/usr/bin/env nake
|
2
|
-
# encoding: utf-8
|
3
|
-
|
4
|
-
begin
|
5
|
-
require File.expand_path("../.bundle/environment", __FILE__)
|
6
|
-
rescue LoadError
|
7
|
-
require "bundler"
|
8
|
-
Bundler.setup
|
9
|
-
end
|
10
|
-
|
11
|
-
$LOAD_PATH.unshift(File.expand_path("../lib", __FILE__))
|
12
|
-
|
13
|
-
require "nake/tasks/gem"
|
14
|
-
require "nake/tasks/spec"
|
15
|
-
require "nake/tasks/release"
|
16
|
-
|
17
|
-
begin
|
18
|
-
load "code-cleaner.nake"
|
19
|
-
Nake::Task["hooks:whitespace:install"].tap do |task|
|
20
|
-
task.config[:path] = "script"
|
21
|
-
task.config[:encoding] = "utf-8"
|
22
|
-
task.config[:whitelist] = '(bin/[^/]+|.+\.(rb|rake|nake|thor|task))$'
|
23
|
-
end
|
24
|
-
rescue LoadError
|
25
|
-
warn "If you want to contribute to SimpleTemplater, please install code-cleaner and then run ./tasks.rb hooks:whitespace:install to get Git pre-commit hook for removing trailing whitespace."
|
26
|
-
end
|
27
|
-
|
28
|
-
require_relative "lib/simple-templater"
|
29
|
-
|
30
|
-
# Setup encoding, so all the operations
|
31
|
-
# with strings from another files will work
|
32
|
-
Encoding.default_internal = "utf-8"
|
33
|
-
Encoding.default_external = "utf-8"
|
34
|
-
|
35
|
-
Task[:build].config[:gemspec] = "simple-templater.gemspec"
|
36
|
-
Task[:prerelease].config[:gemspec] = "simple-templater.pre.gemspec"
|
37
|
-
Task[:release].config[:name] = "simple-templater"
|
38
|
-
Task[:release].config[:version] = SimpleTemplater::VERSION
|