falkorlib 0.1.0 → 0.2.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +56 -4
- data/README.md +147 -34
- data/Rakefile +42 -23
- data/falkorlib.gemspec +11 -7
- data/lib/falkorlib.rb +31 -2
- data/lib/falkorlib/common.rb +93 -41
- data/lib/falkorlib/config.rb +91 -0
- data/lib/falkorlib/git.rb +15 -0
- data/lib/falkorlib/git/base.rb +405 -0
- data/lib/falkorlib/git/flow.rb +120 -0
- data/lib/falkorlib/git_tasks.rb +56 -0
- data/lib/falkorlib/loader.rb +9 -1
- data/lib/falkorlib/tasks.rb +30 -0
- data/lib/falkorlib/tasks/git.rake +121 -0
- data/lib/falkorlib/tasks/git.rb +56 -0
- data/lib/falkorlib/tasks/gitflow.rake +139 -0
- data/{tasks/spec_test.rake → lib/falkorlib/tasks/rspec.rake} +4 -3
- data/lib/falkorlib/tasks/yard.rake +78 -0
- data/lib/falkorlib/version.rb +62 -54
- data/lib/falkorlib/versioning.rb +162 -0
- data/spec/falkorlib/common_spec.rb +12 -12
- data/spec/falkorlib/git_spec.rb +191 -0
- data/spec/falkorlib/gitflow_spec.rb +47 -45
- data/spec/falkorlib/versioning_spec.rb +108 -0
- data/spec/spec_helper.rb +58 -9
- metadata +80 -24
- data/lib/falkorlib/gitflow.rb +0 -71
- data/tasks/debug_mail.rake +0 -75
- data/tasks/debug_mail.txt +0 -13
- data/tasks/gem.rake +0 -73
- data/tasks/unit_test.rake +0 -77
- data/tasks/yard.rake +0 -51
- data/test/test_gitflow.rb +0 -16
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: falkorlib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sebastien Varrette
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -45,25 +45,19 @@ dependencies:
|
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '0'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
48
|
+
name: minigit
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
54
|
-
- - ">="
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version: 1.2.5
|
53
|
+
version: '0'
|
57
54
|
type: :runtime
|
58
55
|
prerelease: false
|
59
56
|
version_requirements: !ruby/object:Gem::Requirement
|
60
57
|
requirements:
|
61
58
|
- - "~>"
|
62
59
|
- !ruby/object:Gem::Version
|
63
|
-
version: '
|
64
|
-
- - ">="
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: 1.2.5
|
60
|
+
version: '0'
|
67
61
|
- !ruby/object:Gem::Dependency
|
68
62
|
name: term-ansicolor
|
69
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,6 +72,34 @@ dependencies:
|
|
78
72
|
- - "~>"
|
79
73
|
- !ruby/object:Gem::Version
|
80
74
|
version: '1.3'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: configatron
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '3.2'
|
82
|
+
type: :runtime
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '3.2'
|
89
|
+
- !ruby/object:Gem::Dependency
|
90
|
+
name: awesome_print
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - "~>"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '1.2'
|
96
|
+
type: :runtime
|
97
|
+
prerelease: false
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '1.2'
|
81
103
|
- !ruby/object:Gem::Dependency
|
82
104
|
name: bundler
|
83
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -141,19 +163,47 @@ dependencies:
|
|
141
163
|
- !ruby/object:Gem::Version
|
142
164
|
version: '0.8'
|
143
165
|
- !ruby/object:Gem::Dependency
|
144
|
-
name:
|
166
|
+
name: rubygems-tasks
|
145
167
|
requirement: !ruby/object:Gem::Requirement
|
146
168
|
requirements:
|
147
169
|
- - "~>"
|
148
170
|
- !ruby/object:Gem::Version
|
149
|
-
version: '
|
171
|
+
version: '0.2'
|
150
172
|
type: :development
|
151
173
|
prerelease: false
|
152
174
|
version_requirements: !ruby/object:Gem::Requirement
|
153
175
|
requirements:
|
154
176
|
- - "~>"
|
155
177
|
- !ruby/object:Gem::Version
|
156
|
-
version: '
|
178
|
+
version: '0.2'
|
179
|
+
- !ruby/object:Gem::Dependency
|
180
|
+
name: travis
|
181
|
+
requirement: !ruby/object:Gem::Requirement
|
182
|
+
requirements:
|
183
|
+
- - "~>"
|
184
|
+
- !ruby/object:Gem::Version
|
185
|
+
version: '1.6'
|
186
|
+
type: :development
|
187
|
+
prerelease: false
|
188
|
+
version_requirements: !ruby/object:Gem::Requirement
|
189
|
+
requirements:
|
190
|
+
- - "~>"
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '1.6'
|
193
|
+
- !ruby/object:Gem::Dependency
|
194
|
+
name: travis-lint
|
195
|
+
requirement: !ruby/object:Gem::Requirement
|
196
|
+
requirements:
|
197
|
+
- - "~>"
|
198
|
+
- !ruby/object:Gem::Version
|
199
|
+
version: '1.8'
|
200
|
+
type: :development
|
201
|
+
prerelease: false
|
202
|
+
version_requirements: !ruby/object:Gem::Requirement
|
203
|
+
requirements:
|
204
|
+
- - "~>"
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '1.8'
|
157
207
|
description: "This is my personal library I use to share the Ruby tidbits, Rake and
|
158
208
|
Capistrano tasks I made for my various projects. \nThis is also my first gem so
|
159
209
|
any comments on the code/organization are welcome, I'm a newbie in this domain.
|
@@ -178,20 +228,26 @@ files:
|
|
178
228
|
- falkorlib.gemspec
|
179
229
|
- lib/falkorlib.rb
|
180
230
|
- lib/falkorlib/common.rb
|
181
|
-
- lib/falkorlib/
|
231
|
+
- lib/falkorlib/config.rb
|
232
|
+
- lib/falkorlib/git.rb
|
233
|
+
- lib/falkorlib/git/base.rb
|
234
|
+
- lib/falkorlib/git/flow.rb
|
235
|
+
- lib/falkorlib/git_tasks.rb
|
182
236
|
- lib/falkorlib/loader.rb
|
237
|
+
- lib/falkorlib/tasks.rb
|
238
|
+
- lib/falkorlib/tasks/git.rake
|
239
|
+
- lib/falkorlib/tasks/git.rb
|
240
|
+
- lib/falkorlib/tasks/gitflow.rake
|
241
|
+
- lib/falkorlib/tasks/rspec.rake
|
242
|
+
- lib/falkorlib/tasks/yard.rake
|
183
243
|
- lib/falkorlib/version.rb
|
244
|
+
- lib/falkorlib/versioning.rb
|
184
245
|
- spec/falkorlib/common_spec.rb
|
246
|
+
- spec/falkorlib/git_spec.rb
|
185
247
|
- spec/falkorlib/gitflow_spec.rb
|
248
|
+
- spec/falkorlib/versioning_spec.rb
|
186
249
|
- spec/falkorlib_spec.rb
|
187
250
|
- spec/spec_helper.rb
|
188
|
-
- tasks/debug_mail.rake
|
189
|
-
- tasks/debug_mail.txt
|
190
|
-
- tasks/gem.rake
|
191
|
-
- tasks/spec_test.rake
|
192
|
-
- tasks/unit_test.rake
|
193
|
-
- tasks/yard.rake
|
194
|
-
- test/test_gitflow.rb
|
195
251
|
homepage: https://github.com/Falkor/falkorlib
|
196
252
|
licenses:
|
197
253
|
- MIT
|
@@ -219,9 +275,9 @@ specification_version: 4
|
|
219
275
|
summary: Sebastien Varrette aka Falkor's Common library to share Ruby code and {rake,cap}
|
220
276
|
tasks
|
221
277
|
test_files:
|
222
|
-
- test/test_gitflow.rb
|
223
278
|
- spec/falkorlib/common_spec.rb
|
279
|
+
- spec/falkorlib/git_spec.rb
|
224
280
|
- spec/falkorlib/gitflow_spec.rb
|
281
|
+
- spec/falkorlib/versioning_spec.rb
|
225
282
|
- spec/falkorlib_spec.rb
|
226
283
|
- spec/spec_helper.rb
|
227
|
-
has_rdoc:
|
data/lib/falkorlib/gitflow.rb
DELETED
@@ -1,71 +0,0 @@
|
|
1
|
-
#!/usr/bin/ruby
|
2
|
-
|
3
|
-
require 'falkorlib/common'
|
4
|
-
require 'git'
|
5
|
-
|
6
|
-
module FalkorLib
|
7
|
-
|
8
|
-
class GitFlow < Git::Base
|
9
|
-
|
10
|
-
@@config = {
|
11
|
-
:master => 'production',
|
12
|
-
:develop => 'master',
|
13
|
-
:feature => 'feature/',
|
14
|
-
:release => 'release/',
|
15
|
-
:hotfix => 'hotfix/',
|
16
|
-
:support => 'support/',
|
17
|
-
:versiontag => "v",
|
18
|
-
}
|
19
|
-
|
20
|
-
|
21
|
-
def initialize(base = nil, options = {})
|
22
|
-
# @logger = options[:logger] || Logger.new(STDOUT)
|
23
|
-
options.each do |k,v|
|
24
|
-
self.config_set(k, v) if @@config.has_key?(k.to_sym)
|
25
|
-
end
|
26
|
-
#puts @@config.inspect
|
27
|
-
end
|
28
|
-
|
29
|
-
# def self.method_missing(sym, *args, &block)
|
30
|
-
# @@config[sym.to_s]
|
31
|
-
# end
|
32
|
-
|
33
|
-
def self.global_config(opt)
|
34
|
-
@@config[opt.to_sym]
|
35
|
-
end
|
36
|
-
|
37
|
-
def self.config_set(opt, value)
|
38
|
-
@@config[opt.to_sym] = value
|
39
|
-
end
|
40
|
-
|
41
|
-
# initializes a git flow repository
|
42
|
-
# options:
|
43
|
-
# :repository
|
44
|
-
# :index_file
|
45
|
-
#
|
46
|
-
def self.init(working_dir, opts = {})
|
47
|
-
super
|
48
|
-
g = Git.open(working_dir)
|
49
|
-
|
50
|
-
config = @@config
|
51
|
-
@@config.keys.each do |k|
|
52
|
-
config[k.to_sym] = opts[k.to_sym] if opts.has_key?(k.to_sym)
|
53
|
-
end
|
54
|
-
|
55
|
-
# Now update the local config for gitflow
|
56
|
-
g.config('gitflow.branch.master', config[:master])
|
57
|
-
g.config('gitflow.branch.develop', config[:develop])
|
58
|
-
g.config('gitflow.prefix.feature', config[:feature])
|
59
|
-
g.config('gitflow.prefix.release', config[:release])
|
60
|
-
g.config('gitflow.prefix.hotfix', config[:hotfix])
|
61
|
-
g.config('gitflow.prefix.support', config[:support])
|
62
|
-
g.config('gitflow.prefix.versiontag', config[:versiontag])
|
63
|
-
|
64
|
-
g.lib.send('command', 'flow init -d')
|
65
|
-
end
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
end # End Falkorlib::GitFlow
|
71
|
-
end
|
data/tasks/debug_mail.rake
DELETED
@@ -1,75 +0,0 @@
|
|
1
|
-
# Installs a rake task for debuging the announcement mail.
|
2
|
-
#
|
3
|
-
# This file installs the 'rake debug_mail' that flushes an announcement mail
|
4
|
-
# for your library on the standard output. It is automatically generated
|
5
|
-
# by Noe from your .noespec file, and should therefore be configured there,
|
6
|
-
# under the variables/rake_tasks/debug_mail entry, as illustrated below:
|
7
|
-
#
|
8
|
-
# variables:
|
9
|
-
# rake_tasks:
|
10
|
-
# debug_mail:
|
11
|
-
# rx_changelog_sections: /^#/
|
12
|
-
# nb_changelog_sections: 1
|
13
|
-
# ...
|
14
|
-
#
|
15
|
-
# If you have specific needs requiring manual intervention on this file,
|
16
|
-
# don't forget to set safe-override to false in your noe specification:
|
17
|
-
#
|
18
|
-
# template-info:
|
19
|
-
# manifest:
|
20
|
-
# tasks/debug_mail.rake:
|
21
|
-
# safe-override: false
|
22
|
-
#
|
23
|
-
# The mail template used can be found in debug_mail.txt. That file may be
|
24
|
-
# changed to tune the mail you want to send. If you do so, don't forget to
|
25
|
-
# add a manifest entry in your .noespec file to avoid overriding you
|
26
|
-
# changes. The mail template uses wlang, with parentheses for block
|
27
|
-
# delimiters.
|
28
|
-
#
|
29
|
-
# template-info:
|
30
|
-
# manifest:
|
31
|
-
# tasks/debug_mail.txt:
|
32
|
-
# safe-override: false
|
33
|
-
#
|
34
|
-
desc "Debug the release announcement mail"
|
35
|
-
task :debug_mail do
|
36
|
-
begin
|
37
|
-
require 'wlang'
|
38
|
-
rescue LoadError
|
39
|
-
abort "wlang is not available. Try 'gem install wlang'"
|
40
|
-
end
|
41
|
-
require 'yaml'
|
42
|
-
|
43
|
-
# Check that a .noespec file exists
|
44
|
-
noespec_file = File.expand_path('../../.falkorlib.noespec', __FILE__)
|
45
|
-
unless File.exists?(noespec_file)
|
46
|
-
raise "Unable to find .noespec project file, sorry."
|
47
|
-
end
|
48
|
-
|
49
|
-
# Load it as well as variables and options
|
50
|
-
noespec = YAML::load(File.read(noespec_file))
|
51
|
-
vars = noespec['variables'] || {}
|
52
|
-
|
53
|
-
# Changes are taken from CHANGELOG
|
54
|
-
logs = Dir[File.expand_path("../../CHANGELOG.*", __FILE__)]
|
55
|
-
unless logs.size == 1
|
56
|
-
abort "Unable to find a changelog file"
|
57
|
-
end
|
58
|
-
|
59
|
-
# Load interesting changesets
|
60
|
-
changes, end_found = [], 0
|
61
|
-
File.readlines(logs.first).select{|line|
|
62
|
-
if line =~ /^# /
|
63
|
-
break if end_found >= 1
|
64
|
-
end_found += 1
|
65
|
-
end
|
66
|
-
changes << line
|
67
|
-
}
|
68
|
-
vars['changes'] = changes.join
|
69
|
-
|
70
|
-
# WLang template
|
71
|
-
template = File.expand_path('../debug_mail.txt', __FILE__)
|
72
|
-
|
73
|
-
# Let's go!
|
74
|
-
$stdout << WLang::file_instantiate(template, vars, "wlang/active-text")
|
75
|
-
end
|
data/tasks/debug_mail.txt
DELETED
data/tasks/gem.rake
DELETED
@@ -1,73 +0,0 @@
|
|
1
|
-
# Installs rake tasks for gemming and packaging
|
2
|
-
#
|
3
|
-
# This file installs the 'rake package', 'rake gem' tasks and associates
|
4
|
-
# (clobber_package, repackage, ...). It is automatically generated by Noe
|
5
|
-
# from your .noespec file, and should therefore be configured there, under
|
6
|
-
# the variables/rake_tasks/gem entry, as illustrated below:
|
7
|
-
#
|
8
|
-
# variables:
|
9
|
-
# rake_tasks:
|
10
|
-
# gem:
|
11
|
-
# package_dir: pkg
|
12
|
-
# need_tar: false
|
13
|
-
# need_tar_gz: false
|
14
|
-
# need_tar_bz2: false
|
15
|
-
# need_zip: false
|
16
|
-
# ...
|
17
|
-
#
|
18
|
-
# If you have specific needs requiring manual intervention on this file,
|
19
|
-
# don't forget to set safe-override to false in your noe specification:
|
20
|
-
#
|
21
|
-
# template-info:
|
22
|
-
# manifest:
|
23
|
-
# tasks/gem.rake:
|
24
|
-
# safe-override: false
|
25
|
-
#
|
26
|
-
begin
|
27
|
-
require 'rubygems/package_task'
|
28
|
-
|
29
|
-
# Dynamically load the gem spec
|
30
|
-
gemspec_file = File.expand_path('../../falkorlib.gemspec', __FILE__)
|
31
|
-
gemspec = Kernel.eval(File.read(gemspec_file))
|
32
|
-
|
33
|
-
Gem::PackageTask.new(gemspec) do |t|
|
34
|
-
|
35
|
-
# Name of the package
|
36
|
-
t.name = gemspec.name
|
37
|
-
|
38
|
-
# Version of the package
|
39
|
-
t.version = gemspec.version
|
40
|
-
|
41
|
-
# Directory used to store the package files
|
42
|
-
t.package_dir = "pkg"
|
43
|
-
|
44
|
-
# True if a gzipped tar file (tgz) should be produced
|
45
|
-
t.need_tar = false
|
46
|
-
|
47
|
-
# True if a gzipped tar file (tar.gz) should be produced
|
48
|
-
t.need_tar_gz = false
|
49
|
-
|
50
|
-
# True if a bzip2'd tar file (tar.bz2) should be produced
|
51
|
-
t.need_tar_bz2 = false
|
52
|
-
|
53
|
-
# True if a zip file should be produced (default is false)
|
54
|
-
t.need_zip = false
|
55
|
-
|
56
|
-
# List of files to be included in the package.
|
57
|
-
t.package_files = gemspec.files
|
58
|
-
|
59
|
-
# Tar command for gzipped or bzip2ed archives.
|
60
|
-
t.tar_command = "tar"
|
61
|
-
|
62
|
-
# Zip command for zipped archives.
|
63
|
-
t.zip_command = "zip"
|
64
|
-
|
65
|
-
end
|
66
|
-
rescue LoadError
|
67
|
-
task :gem do
|
68
|
-
abort 'rubygems/package_task is not available. You should verify your rubygems installation'
|
69
|
-
end
|
70
|
-
task :package do
|
71
|
-
abort 'rubygems/package_task is not available. You should verify your rubygems installation'
|
72
|
-
end
|
73
|
-
end
|
data/tasks/unit_test.rake
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
# Installs a rake task for for running unit tests.
|
2
|
-
#
|
3
|
-
# This file installs the 'rake unit_test' and extends 'rake test' to run unit
|
4
|
-
# tests, if any. It is automatically generated by Noe from your .noespec file,
|
5
|
-
# and should therefore be configured there, under the variables/rake_tasks/unit_test
|
6
|
-
# entry, as illustrated below:
|
7
|
-
#
|
8
|
-
# variables:
|
9
|
-
# rake_tasks:
|
10
|
-
# unit_test:
|
11
|
-
# pattern: test/test*.rb
|
12
|
-
# verbose: false
|
13
|
-
# warning: false
|
14
|
-
# ...
|
15
|
-
#
|
16
|
-
# If you have specific needs requiring manual intervention on this file,
|
17
|
-
# don't forget to set safe-override to false in your noe specification:
|
18
|
-
#
|
19
|
-
# template-info:
|
20
|
-
# manifest:
|
21
|
-
# tasks/unit_test.rake:
|
22
|
-
# safe-override: false
|
23
|
-
#
|
24
|
-
# More info about the TestTask and its options can be found on
|
25
|
-
# http://rake.rubyforge.org/classes/Rake/TestTask.html
|
26
|
-
#
|
27
|
-
begin
|
28
|
-
require 'rake/testtask'
|
29
|
-
desc "Run unit tests"
|
30
|
-
Rake::TestTask.new(:unit_test) do |t|
|
31
|
-
|
32
|
-
# List of directories to added to $LOAD_PATH before running the
|
33
|
-
# tests. (default is 'lib')
|
34
|
-
t.libs = ["lib"]
|
35
|
-
|
36
|
-
# True if verbose test output desired. (default is false)
|
37
|
-
t.verbose = false
|
38
|
-
|
39
|
-
# Test options passed to the test suite. An explicit TESTOPTS=opts
|
40
|
-
# on the command line will override this. (default is NONE)
|
41
|
-
t.options = nil
|
42
|
-
|
43
|
-
# Request that the tests be run with the warning flag set.
|
44
|
-
# E.g. warning=true implies "ruby -w" used to run the tests.
|
45
|
-
t.warning = false
|
46
|
-
|
47
|
-
# Glob pattern to match test files. (default is 'test/test*.rb')
|
48
|
-
t.pattern = "test/test_*.rb"
|
49
|
-
#t.pattern = "test/**/*_spec.rb"
|
50
|
-
|
51
|
-
# Style of test loader to use. Options are:
|
52
|
-
#
|
53
|
-
# * :rake -- Rake provided test loading script (default).
|
54
|
-
# * :testrb -- Ruby provided test loading script.
|
55
|
-
# * :direct -- Load tests using command line loader.
|
56
|
-
#
|
57
|
-
t.loader = :rake
|
58
|
-
|
59
|
-
# Array of commandline options to pass to ruby when running test
|
60
|
-
# loader.
|
61
|
-
t.ruby_opts = []
|
62
|
-
|
63
|
-
# Explicitly define the list of test files to be included in a
|
64
|
-
# test. +list+ is expected to be an array of file names (a
|
65
|
-
# FileList is acceptable). If both +pattern+ and +test_files+ are
|
66
|
-
# used, then the list of test files is the union of the two.
|
67
|
-
t.test_files = nil
|
68
|
-
|
69
|
-
end
|
70
|
-
rescue LoadError => ex
|
71
|
-
task :unit_test do
|
72
|
-
abort "rake/testtask does not seem available...\n #{ex.message}"
|
73
|
-
end
|
74
|
-
ensure
|
75
|
-
desc "Run all tests"
|
76
|
-
task :test => [:unit_test]
|
77
|
-
end
|