anvil-core 0.0.1.alpha.1 → 0.0.1.pre.alpha.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -3
- data/README.md +20 -8
- data/Rakefile +0 -1
- data/VERSION +1 -0
- data/bin/anvil +0 -2
- data/lib/anvil.rb +11 -1
- data/lib/anvil/rubygems.rb +6 -0
- data/lib/anvil/task.rb +4 -0
- data/lib/anvil/task_manager.rb +5 -2
- data/lib/anvil/version.rb +10 -1
- data/lib/anvil/versioner.rb +77 -0
- data/lib/tasks/{gem_build_task.rb → gem/build_task.rb} +1 -1
- data/lib/tasks/gem/bump_task.rb +61 -0
- data/lib/tasks/gem/release_task.rb +47 -0
- data/spec/lib/{assure_spec.rb → anvil/assure_spec.rb} +0 -0
- data/spec/lib/{assures → anvil/assures}/directory_assure_spec.rb +3 -1
- data/spec/lib/{assures → anvil/assures}/file_assure_spec.rb +2 -1
- data/spec/lib/{cli_spec.rb → anvil/cli_spec.rb} +0 -0
- data/spec/lib/{config_spec.rb → anvil/config_spec.rb} +1 -1
- data/spec/lib/{task → anvil/task}/naming_spec.rb +0 -0
- data/spec/lib/{task → anvil/task}/options_spec.rb +0 -0
- data/spec/lib/{task_manager_spec.rb → anvil/task_manager_spec.rb} +1 -1
- data/spec/lib/{task_spec.rb → anvil/task_spec.rb} +0 -0
- data/spec/lib/anvil/versioner_spec.rb +46 -0
- data/spec/lib/tasks/{gem_build_task_spec.rb → gem/build_task_spec.rb} +8 -8
- data/spec/lib/tasks/gem/bump_task_spec.rb +15 -0
- data/spec/lib/tasks/gem/release_task_spec.rb +23 -0
- data/spec/spec_helper.rb +3 -2
- data/spec/support/shared/config_context.rb +2 -0
- data/spec/support/shared/fake_fs_context.rb +4 -0
- metadata +45 -36
- data/.gitignore +0 -20
- data/.travis.yml +0 -4
- data/anvil-core.gemspec +0 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 84737f5a429924a351d2d4b20c0206c5bd015b20
|
4
|
+
data.tar.gz: 858cd983bf2629fafa1b781d6748985e326d95b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 870d9fae3fcb4a4c48aa716a8aeb36770e62b95931208b60e26ccffe34c71d09a4023c87267fa8fd0454a51147bcc35088f913d41b8670101d16523bf9d50718
|
7
|
+
data.tar.gz: 26769111bd818fd5833258819baf744a074d3d9fe2e4b87aad2170ce383214ea4ec5594e695ca516819c26211edfe02bd83fe43909d1bc9f466c8e7cf21f6f98
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -2,18 +2,28 @@
|
|
2
2
|
|
3
3
|
Anvil is a tool for the real craftsmen to build its own tools.
|
4
4
|
|
5
|
-
|
5
|
+
[![Build Status](https://travis-ci.org/anvil-src/anvil-core.png?branch=master)](https://travis-ci.org/anvil-src/anvil-core)
|
6
6
|
|
7
7
|
|
8
|
-
Anvil tries to be a framework for building command line applications
|
9
|
-
automate tedious tasks like apps or gems releasing process. Pull
|
10
|
-
updating, etc.
|
8
|
+
Anvil tries to be a framework for building command line applications
|
9
|
+
to automate tedious tasks like apps or gems releasing process. Pull
|
10
|
+
request updating, etc.
|
11
|
+
|
12
|
+
It's purpose is to provide an easy to use Object Oriented framework
|
13
|
+
that developers can use to automate par of its day to day work.
|
14
|
+
|
15
|
+
Things like:
|
16
|
+
|
17
|
+
* Updating your pull requests.
|
18
|
+
* Installing your dot files
|
19
|
+
* Doing complex build which involve several projects and branches.
|
20
|
+
* Any other stuff you might want.
|
11
21
|
|
12
22
|
## Installation
|
13
23
|
|
14
24
|
To install it:
|
15
25
|
|
16
|
-
gem install anvil
|
26
|
+
gem install anvil-core
|
17
27
|
|
18
28
|
## Usage
|
19
29
|
|
@@ -25,6 +35,8 @@ To see all the options execute:
|
|
25
35
|
|
26
36
|
1. Fork it
|
27
37
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
28
|
-
3.
|
29
|
-
4.
|
30
|
-
5.
|
38
|
+
3. Add tests for your new feature
|
39
|
+
4. Commit your changes (`git commit -am 'Add some feature'`)
|
40
|
+
5. Push to the branch (`git push origin my-new-feature`)
|
41
|
+
6. Create new Pull Request
|
42
|
+
7. Make sure your tests are passing on all the rubies!
|
data/Rakefile
CHANGED
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.0.1-alpha.2
|
data/bin/anvil
CHANGED
data/lib/anvil.rb
CHANGED
@@ -2,7 +2,17 @@ require 'anvil/version'
|
|
2
2
|
require 'active_support/core_ext'
|
3
3
|
|
4
4
|
module Anvil
|
5
|
-
|
5
|
+
Error = Class.new(StandardError)
|
6
|
+
|
7
|
+
class << self
|
8
|
+
def logger
|
9
|
+
@logger ||= Logger.new(STDOUT).tap do |l|
|
10
|
+
l.formatter = proc do |*_, msg|
|
11
|
+
"#{msg}\n"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
6
16
|
end
|
7
17
|
|
8
18
|
require 'anvil/config'
|
data/lib/anvil/rubygems.rb
CHANGED
data/lib/anvil/task.rb
CHANGED
data/lib/anvil/task_manager.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'anvil/config'
|
2
2
|
require 'anvil/task'
|
3
3
|
require 'rubygems'
|
4
|
-
require 'bundler/shared_helpers'
|
5
4
|
|
6
5
|
module Anvil
|
7
6
|
module TaskManager
|
@@ -17,10 +16,14 @@ module Anvil
|
|
17
16
|
end
|
18
17
|
|
19
18
|
def self.files_from_current_project
|
20
|
-
path =
|
19
|
+
path = current_project_path + '/lib/anvil/'
|
21
20
|
files_from_path(path)
|
22
21
|
end
|
23
22
|
|
23
|
+
def self.current_project_path
|
24
|
+
%x{git rev-parse --show-toplevel}.strip
|
25
|
+
end
|
26
|
+
|
24
27
|
def self.files_from_path(path)
|
25
28
|
Dir[path + '/tasks/**/*_task.rb']
|
26
29
|
end
|
data/lib/anvil/version.rb
CHANGED
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'semantic/version'
|
2
|
+
|
3
|
+
module Anvil
|
4
|
+
class Versioner < SimpleDelegator
|
5
|
+
class NotSupportedTerm < Anvil::Error
|
6
|
+
def initialize(term)
|
7
|
+
super("Not supported term: #{term}")
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
TERMS = [:major, :minor, :patch, :pre, :build]
|
12
|
+
attr_reader :version
|
13
|
+
|
14
|
+
def initialize(string)
|
15
|
+
version = Semantic::Version.new(string)
|
16
|
+
super(version)
|
17
|
+
end
|
18
|
+
|
19
|
+
TERMS.each do |term|
|
20
|
+
define_method("#{term}!") { bump!(term) }
|
21
|
+
end
|
22
|
+
|
23
|
+
# Bumps a version by incrementing one of its terms and reseting the others
|
24
|
+
# according to semver specification.
|
25
|
+
#
|
26
|
+
# @example
|
27
|
+
# Versioner.new('1.2.3-alpha.1+build.2').bump(:major)
|
28
|
+
# # => '2.0.0'
|
29
|
+
# Versioner.new('1.2.3-alpha.1+build.2').bump(:minor)
|
30
|
+
# # => '1.3.0'
|
31
|
+
# Versioner.new('1.2.3-alpha.1+build.2').bump(:patch)
|
32
|
+
# # => '1.2.4'
|
33
|
+
# Versioner.new('1.2.3-alpha.1+build.2').bump(:pre)
|
34
|
+
# # => '1.2.3-alpha.2'
|
35
|
+
# Versioner.new('1.2.3-alpha.1+build.2').bump(:build)
|
36
|
+
# # => '1.2.3-alpha.2+build.3'
|
37
|
+
#
|
38
|
+
# @param term [Symbol] the term to increment
|
39
|
+
# @raise [Anvil::Versioner::NotSuportedTerm] When the given term is invalid
|
40
|
+
def bump!(term)
|
41
|
+
fail NotSupportedTerm.new(term) unless TERMS.include?(term.to_sym)
|
42
|
+
|
43
|
+
new_version = clone
|
44
|
+
new_value = increment send(term)
|
45
|
+
|
46
|
+
new_version.send("#{term}=", new_value)
|
47
|
+
new_version.reset_terms_for(term)
|
48
|
+
end
|
49
|
+
|
50
|
+
protected
|
51
|
+
|
52
|
+
def increment(old_value)
|
53
|
+
case old_value
|
54
|
+
when Fixnum
|
55
|
+
old_value + 1
|
56
|
+
when String
|
57
|
+
components = old_value.split('.')
|
58
|
+
components[-1] = components[-1].to_i + 1
|
59
|
+
components.join('.')
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
# Resets all the terms which need to be reset after a bump
|
64
|
+
#
|
65
|
+
# @param term [Symbol] The term which has been bumped
|
66
|
+
# @return [Anvil::Versioner] A new version with the proper number
|
67
|
+
# @todo we still need to reset pre-release and builds properly
|
68
|
+
def reset_terms_for(term)
|
69
|
+
self.minor = 0 if term == :major
|
70
|
+
self.patch = 0 if term == :major || term == :minor
|
71
|
+
self.pre = nil if [:major, :minor, :patch].include? term
|
72
|
+
self.build = nil if [:major, :minor, :patch, :pre].include? term
|
73
|
+
|
74
|
+
self
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'anvil/task'
|
2
|
+
require 'anvil/versioner'
|
3
|
+
|
4
|
+
class Gem::BumpTask < Anvil::Task
|
5
|
+
description "Bumps a gem's version"
|
6
|
+
|
7
|
+
parser do
|
8
|
+
arguments %w[term]
|
9
|
+
end
|
10
|
+
|
11
|
+
attr_reader :term
|
12
|
+
|
13
|
+
def initialize(term, options = {})
|
14
|
+
@term = term
|
15
|
+
end
|
16
|
+
|
17
|
+
def task
|
18
|
+
version = bump(read_version)
|
19
|
+
write_version version
|
20
|
+
|
21
|
+
version
|
22
|
+
end
|
23
|
+
|
24
|
+
protected
|
25
|
+
|
26
|
+
def git
|
27
|
+
@git ||= Git.open ENV['PWD']
|
28
|
+
end
|
29
|
+
|
30
|
+
def version_file(mode = 'r')
|
31
|
+
File.open('VERSION', mode) do |f|
|
32
|
+
yield f
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def read_version
|
37
|
+
version_file { |f| f.read.strip }
|
38
|
+
end
|
39
|
+
|
40
|
+
def bump(old_version)
|
41
|
+
new_version = Anvil::Versioner.new(old_version).bump! term
|
42
|
+
logger.info "Bumped from #{old_version} to #{new_version}"
|
43
|
+
|
44
|
+
new_version
|
45
|
+
end
|
46
|
+
|
47
|
+
def commit_and_tag(version)
|
48
|
+
git.add 'VERSION'
|
49
|
+
git.commit "Bump version v#{version}"
|
50
|
+
git.add_tag "v#{version}"
|
51
|
+
end
|
52
|
+
|
53
|
+
def write_version(version)
|
54
|
+
version_file('w+') do |f|
|
55
|
+
f.puts version
|
56
|
+
f.close
|
57
|
+
end
|
58
|
+
|
59
|
+
commit_and_tag version
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
require 'anvil/task'
|
2
|
+
require 'anvil/rubygems'
|
3
|
+
|
4
|
+
class Gem::ReleaseTask < Anvil::Task
|
5
|
+
description 'Builds a new version and pushes it to rubygems'
|
6
|
+
|
7
|
+
parser do
|
8
|
+
arguments %w[bump_term]
|
9
|
+
|
10
|
+
on('-i', '--[no-]install', 'Install gem') do |i|
|
11
|
+
options[:install] = i
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
attr_reader :bump_term, :options
|
16
|
+
|
17
|
+
def initialize(bump_term, options = {})
|
18
|
+
@bump_term = bump_term
|
19
|
+
@options = options
|
20
|
+
end
|
21
|
+
|
22
|
+
def task
|
23
|
+
version = bump
|
24
|
+
gem_file = build
|
25
|
+
|
26
|
+
push gem_file, version
|
27
|
+
end
|
28
|
+
|
29
|
+
protected
|
30
|
+
|
31
|
+
def gemspec_file
|
32
|
+
Dir['*.gemspec'].first
|
33
|
+
end
|
34
|
+
|
35
|
+
def bump
|
36
|
+
Gem::BumpTask.new(bump_term).task
|
37
|
+
end
|
38
|
+
|
39
|
+
def build
|
40
|
+
Gem::BuildTask.new(gemspec_file, options).task
|
41
|
+
end
|
42
|
+
|
43
|
+
def push(gem_file, version)
|
44
|
+
logger.info "Pushing version #{version} to rubygems"
|
45
|
+
Anvil::Rubygems.push gem_file
|
46
|
+
end
|
47
|
+
end
|
File without changes
|
@@ -1,8 +1,9 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Anvil::DirectoryAssure do
|
3
|
+
describe Anvil::DirectoryAssure, fakefs: true do
|
4
4
|
context 'with an existing directory' do
|
5
5
|
before { FileUtils.mkdir('dummy_dir') }
|
6
|
+
after { FileUtils.rm_rf('dummy_dir') }
|
6
7
|
|
7
8
|
it { should be_assured('dummy_dir') }
|
8
9
|
end
|
@@ -13,6 +14,7 @@ describe Anvil::DirectoryAssure do
|
|
13
14
|
|
14
15
|
context 'with a file' do
|
15
16
|
before { FileUtils.touch('dummy_file') }
|
17
|
+
after { FileUtils.rm_rf('dummy_file') }
|
16
18
|
|
17
19
|
it { should_not be_assured('dummy_file') }
|
18
20
|
end
|
@@ -1,8 +1,9 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
describe Anvil::FileAssure do
|
3
|
+
describe Anvil::FileAssure, fakefs: true do
|
4
4
|
context 'with an existing file' do
|
5
5
|
before { FileUtils.touch 'dummy_file.txt' }
|
6
|
+
after { FileUtils.rm 'dummy_file.txt' }
|
6
7
|
|
7
8
|
it { should be_assured('dummy_file.txt') }
|
8
9
|
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -10,7 +10,7 @@ describe Anvil::TaskManager do
|
|
10
10
|
end
|
11
11
|
|
12
12
|
describe '.files_from_current_project' do
|
13
|
-
let(:gemfile_path) {
|
13
|
+
let(:gemfile_path) { described_class.current_project_path }
|
14
14
|
let(:project_task_path) { gemfile_path + '/lib/anvil/' }
|
15
15
|
|
16
16
|
it 'returns the task files in the path' do
|
File without changes
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'anvil/versioner'
|
3
|
+
|
4
|
+
describe Anvil::Versioner do
|
5
|
+
subject { described_class.new('1.2.3-alpha.1+build.2') }
|
6
|
+
|
7
|
+
describe '#major!' do
|
8
|
+
it 'bumps the major version and resets the others' do
|
9
|
+
subject.major!.should == '2.0.0'
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
describe '#minor!' do
|
14
|
+
it 'bumps minor term and resets patch, pre and build' do
|
15
|
+
subject.minor!.should == '1.3.0'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '#patch!' do
|
20
|
+
it 'bumps the patch term and resets the pre and build' do
|
21
|
+
subject.patch!.should == '1.2.4'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '#pre' do
|
26
|
+
it 'bumps the pre-release version and resets the build' do
|
27
|
+
subject.pre!.should == '1.2.3-alpha.2'
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe '#build!' do
|
32
|
+
it 'bumps the build version' do
|
33
|
+
subject.build!.should == '1.2.3-alpha.1+build.3'
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe '#increment!' do
|
38
|
+
context 'if the term doesnt exist' do
|
39
|
+
it 'raise an exception' do
|
40
|
+
expect do
|
41
|
+
subject.bump!(:foo)
|
42
|
+
end.to raise_error(Anvil::Versioner::NotSupportedTerm)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require 'tasks/
|
2
|
+
require 'tasks/gem/build_task'
|
3
3
|
|
4
|
-
describe
|
4
|
+
describe Gem::BuildTask do
|
5
5
|
let(:output) do
|
6
6
|
<<-END
|
7
7
|
Successfully built RubyGem
|
@@ -13,7 +13,7 @@ describe GemBuildTask do
|
|
13
13
|
let(:gemspec_file) { 'anvil.gemspec' }
|
14
14
|
let(:options) { {} }
|
15
15
|
|
16
|
-
subject {
|
16
|
+
subject { Gem::BuildTask.new(gemspec_file, options) }
|
17
17
|
|
18
18
|
describe '#task' do
|
19
19
|
before do
|
@@ -45,7 +45,7 @@ describe GemBuildTask do
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
-
describe '#build_gem' do
|
48
|
+
describe '#build_gem', fakefs: true do
|
49
49
|
let(:gem_file) { 'alfred.gem' }
|
50
50
|
|
51
51
|
before do
|
@@ -72,8 +72,8 @@ describe GemBuildTask do
|
|
72
72
|
let(:arguments) { ['anvil.gem', '--install'] }
|
73
73
|
|
74
74
|
it 'returns the correct arguments' do
|
75
|
-
expect(
|
76
|
-
|
75
|
+
expect(Gem::BuildTask.parse_options!(arguments))
|
76
|
+
.to be_eql(['anvil.gem', { install: true }])
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
@@ -81,8 +81,8 @@ describe GemBuildTask do
|
|
81
81
|
let(:arguments) { ['anvil.gem', '--no-install'] }
|
82
82
|
|
83
83
|
it 'returns the correct arguments' do
|
84
|
-
expect(
|
85
|
-
|
84
|
+
expect(Gem::BuildTask.parse_options!(arguments))
|
85
|
+
.to be_eql(['anvil.gem', { install: false }])
|
86
86
|
end
|
87
87
|
end
|
88
88
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'tasks/gem/bump_task'
|
3
|
+
|
4
|
+
describe Gem::BumpTask do
|
5
|
+
describe '#task' do
|
6
|
+
subject { Gem::BumpTask.new :major }
|
7
|
+
before { subject.stub(:read_version).and_return('2.0.0') }
|
8
|
+
|
9
|
+
it 'bumps the version and writes it' do
|
10
|
+
expect(subject).to receive(:write_version)
|
11
|
+
|
12
|
+
expect(subject.task).to eq('3.0.0')
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'anvil/versioner'
|
3
|
+
require 'tasks/gem/release_task'
|
4
|
+
|
5
|
+
describe Gem::ReleaseTask do
|
6
|
+
subject { Gem::ReleaseTask.new :major }
|
7
|
+
|
8
|
+
let(:version) { Anvil::Versioner.new('2.0.0') }
|
9
|
+
let(:gem_file) { 'new-gem-v2.0.0.gem' }
|
10
|
+
|
11
|
+
describe '#task' do
|
12
|
+
before do
|
13
|
+
subject.stub(:bump).and_return(version)
|
14
|
+
subject.stub(:build).and_return(gem_file)
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'pushes the gem to rubygems' do
|
18
|
+
subject.should_receive(:push).with(gem_file, version)
|
19
|
+
end
|
20
|
+
|
21
|
+
after { subject.task }
|
22
|
+
end
|
23
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -5,7 +5,6 @@
|
|
5
5
|
#
|
6
6
|
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
|
7
7
|
|
8
|
-
require 'byebug'
|
9
8
|
require 'fakefs/spec_helpers'
|
10
9
|
require 'anvil'
|
11
10
|
|
@@ -22,5 +21,7 @@ RSpec.configure do |config|
|
|
22
21
|
# the seed, which is printed after each run.
|
23
22
|
# --seed 1234
|
24
23
|
config.order = 'random'
|
25
|
-
config.
|
24
|
+
config.before(:all) do
|
25
|
+
Anvil.module_eval { @logger = Logger.new(nil) }
|
26
|
+
end
|
26
27
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: anvil-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1.alpha.
|
4
|
+
version: 0.0.1.pre.alpha.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fran Casas
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-03-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: git
|
@@ -68,47 +68,47 @@ dependencies:
|
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: '0.5'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
71
|
+
name: semantic
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: '1.
|
77
|
-
type: :
|
76
|
+
version: '1.3'
|
77
|
+
type: :runtime
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: '1.
|
83
|
+
version: '1.3'
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
|
-
name:
|
85
|
+
name: bundler
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
88
|
- - "~>"
|
89
89
|
- !ruby/object:Gem::Version
|
90
|
-
version: '
|
90
|
+
version: '1.5'
|
91
91
|
type: :development
|
92
92
|
prerelease: false
|
93
93
|
version_requirements: !ruby/object:Gem::Requirement
|
94
94
|
requirements:
|
95
95
|
- - "~>"
|
96
96
|
- !ruby/object:Gem::Version
|
97
|
-
version: '
|
97
|
+
version: '1.5'
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
99
|
+
name: rspec
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
102
|
- - "~>"
|
103
103
|
- !ruby/object:Gem::Version
|
104
|
-
version: '2.
|
104
|
+
version: '2.14'
|
105
105
|
type: :development
|
106
106
|
prerelease: false
|
107
107
|
version_requirements: !ruby/object:Gem::Requirement
|
108
108
|
requirements:
|
109
109
|
- - "~>"
|
110
110
|
- !ruby/object:Gem::Version
|
111
|
-
version: '2.
|
111
|
+
version: '2.14'
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
113
|
name: fakefs
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
@@ -146,13 +146,11 @@ executables:
|
|
146
146
|
extensions: []
|
147
147
|
extra_rdoc_files: []
|
148
148
|
files:
|
149
|
-
- ".gitignore"
|
150
|
-
- ".travis.yml"
|
151
149
|
- Gemfile
|
152
150
|
- LICENSE.txt
|
153
151
|
- README.md
|
154
152
|
- Rakefile
|
155
|
-
-
|
153
|
+
- VERSION
|
156
154
|
- bin/anvil
|
157
155
|
- lib/anvil.rb
|
158
156
|
- lib/anvil/assure.rb
|
@@ -170,21 +168,27 @@ files:
|
|
170
168
|
- lib/anvil/task/repositories.rb
|
171
169
|
- lib/anvil/task_manager.rb
|
172
170
|
- lib/anvil/version.rb
|
171
|
+
- lib/anvil/versioner.rb
|
173
172
|
- lib/gem_ext/mixlib.rb
|
174
|
-
- lib/tasks/
|
173
|
+
- lib/tasks/gem/build_task.rb
|
174
|
+
- lib/tasks/gem/bump_task.rb
|
175
|
+
- lib/tasks/gem/release_task.rb
|
175
176
|
- lib/tasks/help_task.rb
|
176
177
|
- lib/tasks/projects/add_task.rb
|
177
178
|
- lib/tasks/projects/list_task.rb
|
178
|
-
- spec/lib/assure_spec.rb
|
179
|
-
- spec/lib/assures/directory_assure_spec.rb
|
180
|
-
- spec/lib/assures/file_assure_spec.rb
|
181
|
-
- spec/lib/cli_spec.rb
|
182
|
-
- spec/lib/config_spec.rb
|
183
|
-
- spec/lib/task/naming_spec.rb
|
184
|
-
- spec/lib/task/options_spec.rb
|
185
|
-
- spec/lib/task_manager_spec.rb
|
186
|
-
- spec/lib/task_spec.rb
|
187
|
-
- spec/lib/
|
179
|
+
- spec/lib/anvil/assure_spec.rb
|
180
|
+
- spec/lib/anvil/assures/directory_assure_spec.rb
|
181
|
+
- spec/lib/anvil/assures/file_assure_spec.rb
|
182
|
+
- spec/lib/anvil/cli_spec.rb
|
183
|
+
- spec/lib/anvil/config_spec.rb
|
184
|
+
- spec/lib/anvil/task/naming_spec.rb
|
185
|
+
- spec/lib/anvil/task/options_spec.rb
|
186
|
+
- spec/lib/anvil/task_manager_spec.rb
|
187
|
+
- spec/lib/anvil/task_spec.rb
|
188
|
+
- spec/lib/anvil/versioner_spec.rb
|
189
|
+
- spec/lib/tasks/gem/build_task_spec.rb
|
190
|
+
- spec/lib/tasks/gem/bump_task_spec.rb
|
191
|
+
- spec/lib/tasks/gem/release_task_spec.rb
|
188
192
|
- spec/lib/tasks/projects/add_task_spec.rb
|
189
193
|
- spec/lib/tasks/projects/list_task_spec.rb
|
190
194
|
- spec/spec_helper.rb
|
@@ -196,6 +200,7 @@ files:
|
|
196
200
|
- spec/support/fixtures/dummy_task.rb
|
197
201
|
- spec/support/fixtures/foo/dummy_task.rb
|
198
202
|
- spec/support/shared/config_context.rb
|
203
|
+
- spec/support/shared/fake_fs_context.rb
|
199
204
|
homepage: http://github.com/anvil-src/anvil-core
|
200
205
|
licenses:
|
201
206
|
- MIT
|
@@ -222,16 +227,19 @@ specification_version: 4
|
|
222
227
|
summary: Anvil is a tool for building tools. A tool that a real craftsmen uses to
|
223
228
|
build its tools.
|
224
229
|
test_files:
|
225
|
-
- spec/lib/assure_spec.rb
|
226
|
-
- spec/lib/assures/directory_assure_spec.rb
|
227
|
-
- spec/lib/assures/file_assure_spec.rb
|
228
|
-
- spec/lib/cli_spec.rb
|
229
|
-
- spec/lib/config_spec.rb
|
230
|
-
- spec/lib/task/naming_spec.rb
|
231
|
-
- spec/lib/task/options_spec.rb
|
232
|
-
- spec/lib/task_manager_spec.rb
|
233
|
-
- spec/lib/task_spec.rb
|
234
|
-
- spec/lib/
|
230
|
+
- spec/lib/anvil/assure_spec.rb
|
231
|
+
- spec/lib/anvil/assures/directory_assure_spec.rb
|
232
|
+
- spec/lib/anvil/assures/file_assure_spec.rb
|
233
|
+
- spec/lib/anvil/cli_spec.rb
|
234
|
+
- spec/lib/anvil/config_spec.rb
|
235
|
+
- spec/lib/anvil/task/naming_spec.rb
|
236
|
+
- spec/lib/anvil/task/options_spec.rb
|
237
|
+
- spec/lib/anvil/task_manager_spec.rb
|
238
|
+
- spec/lib/anvil/task_spec.rb
|
239
|
+
- spec/lib/anvil/versioner_spec.rb
|
240
|
+
- spec/lib/tasks/gem/build_task_spec.rb
|
241
|
+
- spec/lib/tasks/gem/bump_task_spec.rb
|
242
|
+
- spec/lib/tasks/gem/release_task_spec.rb
|
235
243
|
- spec/lib/tasks/projects/add_task_spec.rb
|
236
244
|
- spec/lib/tasks/projects/list_task_spec.rb
|
237
245
|
- spec/spec_helper.rb
|
@@ -243,3 +251,4 @@ test_files:
|
|
243
251
|
- spec/support/fixtures/dummy_task.rb
|
244
252
|
- spec/support/fixtures/foo/dummy_task.rb
|
245
253
|
- spec/support/shared/config_context.rb
|
254
|
+
- spec/support/shared/fake_fs_context.rb
|
data/.gitignore
DELETED
data/.travis.yml
DELETED
data/anvil-core.gemspec
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'anvil/version'
|
5
|
-
|
6
|
-
Gem::Specification.new do |spec|
|
7
|
-
spec.name = 'anvil-core'
|
8
|
-
spec.version = Anvil::VERSION
|
9
|
-
spec.authors = ['Fran Casas', 'Jon de Andres']
|
10
|
-
spec.email = %w(nflamel@otrobloggeek.com jondeandres@gmail.com)
|
11
|
-
spec.description = 'Anvil is a tool for building tools.'
|
12
|
-
spec.summary = <<SUMMARY
|
13
|
-
Anvil is a tool for building tools. A tool that a real craftsmen uses to build its tools.
|
14
|
-
SUMMARY
|
15
|
-
spec.homepage = 'http://github.com/anvil-src/anvil-core'
|
16
|
-
spec.license = 'MIT'
|
17
|
-
|
18
|
-
spec.files = `git ls-files -z`.split("\x0")
|
19
|
-
spec.executables = spec.files.grep(/^bin\//) { |f| File.basename(f) }
|
20
|
-
spec.test_files = spec.files.grep(/^(test|spec|features)\//)
|
21
|
-
spec.require_paths = %w(lib)
|
22
|
-
|
23
|
-
# Runtime dependencies
|
24
|
-
spec.add_runtime_dependency 'git', '~> 1.2'
|
25
|
-
spec.add_runtime_dependency 'activesupport', '~> 4.0'
|
26
|
-
spec.add_runtime_dependency 'mixlib-config', '~> 2.1'
|
27
|
-
spec.add_runtime_dependency 'cocaine', '~> 0.5'
|
28
|
-
|
29
|
-
# Development dependencies
|
30
|
-
spec.add_development_dependency 'bundler', '~> 1.5'
|
31
|
-
spec.add_development_dependency 'rspec', '~> 2.14'
|
32
|
-
spec.add_development_dependency 'byebug', '~> 2.6'
|
33
|
-
spec.add_development_dependency 'fakefs', '~> 0.5'
|
34
|
-
spec.add_development_dependency 'rubocop', '~> 0.18'
|
35
|
-
end
|