bard 0.3.1 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitmodules +1 -1
- data/VERSION +1 -1
- data/bard.gemspec +3 -1
- data/features/bard_check.feature +8 -0
- data/features/step_definitions/check_steps.rb +20 -0
- data/features/step_definitions/global_steps.rb +4 -1
- data/features/step_definitions/submodule_steps.rb +2 -1
- data/lib/bard.rb +23 -0
- data/lib/bard/git.rb +1 -1
- metadata +3 -1
data/.gitmodules
CHANGED
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
data/bard.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{bard}
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.4.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Micah Geisel", "Nick Hogle"]
|
@@ -28,8 +28,10 @@ Gem::Specification.new do |s|
|
|
28
28
|
"VERSION",
|
29
29
|
"bard.gemspec",
|
30
30
|
"bin/bard",
|
31
|
+
"features/bard_check.feature",
|
31
32
|
"features/bard_pull.feature",
|
32
33
|
"features/bard_push.feature",
|
34
|
+
"features/step_definitions/check_steps.rb",
|
33
35
|
"features/step_definitions/git_steps.rb",
|
34
36
|
"features/step_definitions/global_steps.rb",
|
35
37
|
"features/step_definitions/rails_steps.rb",
|
@@ -0,0 +1,8 @@
|
|
1
|
+
Feature: Bard can check its environment for missing dependencies and potential problems
|
2
|
+
|
3
|
+
Scenario: Bard check returns its version
|
4
|
+
When I type "bard check"
|
5
|
+
Then I should see the current version of bard
|
6
|
+
And I should see the current version of git
|
7
|
+
And I should see the current version of rubygems
|
8
|
+
And I should see the current version of ruby
|
@@ -0,0 +1,20 @@
|
|
1
|
+
Then /^I should see the current version of bard$/ do
|
2
|
+
version = File.read("#{ROOT}/VERSION").chomp
|
3
|
+
@stdout.should include "bard (#{version})"
|
4
|
+
end
|
5
|
+
|
6
|
+
Then /^I should see the current version of git$/ do
|
7
|
+
version = `git --version`[/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/]
|
8
|
+
@stdout.should include "git (#{version})"
|
9
|
+
end
|
10
|
+
|
11
|
+
Then /^I should see the current version of rubygems$/ do
|
12
|
+
version = `gem --version`.chomp
|
13
|
+
@stdout.should include "rubygems (#{version})"
|
14
|
+
end
|
15
|
+
|
16
|
+
Then /^I should see the current version of ruby$/ do
|
17
|
+
version = `ruby --version`[/[0-9]+\.[0-9]+\.[0-9]+/]
|
18
|
+
@stdout.should include "ruby (#{version})"
|
19
|
+
end
|
20
|
+
|
@@ -11,7 +11,7 @@ Given /^a shared rails project$/ do
|
|
11
11
|
File.open ".git/hooks/post-receive", "w" do |f|
|
12
12
|
f.puts <<-BASH
|
13
13
|
#!/bin/bash
|
14
|
-
RAILS_ENV=staging #{ROOT}/bin/bard stage
|
14
|
+
RAILS_ENV=staging #{ROOT}/bin/bard stage $@
|
15
15
|
BASH
|
16
16
|
f.chmod 0775
|
17
17
|
end
|
@@ -29,6 +29,9 @@ BASH
|
|
29
29
|
end
|
30
30
|
|
31
31
|
When /^I type "([^\"]*)"$/ do |command|
|
32
|
+
if command =~ /^bard/
|
33
|
+
command = "#{ROOT}/bin/#{command}"
|
34
|
+
end
|
32
35
|
type command
|
33
36
|
end
|
34
37
|
|
@@ -3,7 +3,8 @@ Given /^a submodule$/ do
|
|
3
3
|
Dir.chdir "#{ROOT}/tmp/local" do
|
4
4
|
type "git checkout integration"
|
5
5
|
type "git pull --rebase"
|
6
|
-
type "git submodule
|
6
|
+
type "git submodule init"
|
7
|
+
type "git submodule update"
|
7
8
|
@submodule_url = File.read(".gitmodules").match(/url = (.*)$/)[1]
|
8
9
|
@submodule_commit = type "git submodule status"
|
9
10
|
end
|
data/lib/bard.rb
CHANGED
@@ -10,6 +10,29 @@ class Bard < Thor
|
|
10
10
|
include BardGit
|
11
11
|
include BardIO
|
12
12
|
|
13
|
+
desc "check", "check environment for missing dependencies"
|
14
|
+
def check
|
15
|
+
required = Hash.new
|
16
|
+
required['bard'] = `gem list bard --remote`[/[0-9]+\.[0-9]+\.[0-9]+/]
|
17
|
+
required['git'] = '1.6.0'
|
18
|
+
required['rubygems'] = '1.3.4'
|
19
|
+
required['ruby'] = '1.8.6'
|
20
|
+
|
21
|
+
actual = Hash.new
|
22
|
+
actual['bard'] = `gem list bard`[/[0-9]+\.[0-9]+\.[0-9]+/]
|
23
|
+
actual['git'] = `git --version`[/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/]
|
24
|
+
actual['rubygems'] = `gem --version`.chomp
|
25
|
+
actual['ruby'] = `ruby --version`[/[0-9]+\.[0-9]+\.[0-9]+/]
|
26
|
+
|
27
|
+
%w(bard git rubygems ruby).each do |pkg|
|
28
|
+
if actual[pkg] < required[pkg]
|
29
|
+
puts red("#{pkg.ljust(9)} (#{actual[pkg]}) ... NEED (#{required[pkg]})")
|
30
|
+
else
|
31
|
+
puts green("#{pkg.ljust(9)} (#{actual[pkg]})")
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
13
36
|
desc "pull", "pull changes to your local machine"
|
14
37
|
def pull
|
15
38
|
ensure_integration_branch!
|
data/lib/bard/git.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Micah Geisel
|
@@ -122,8 +122,10 @@ files:
|
|
122
122
|
- VERSION
|
123
123
|
- bard.gemspec
|
124
124
|
- bin/bard
|
125
|
+
- features/bard_check.feature
|
125
126
|
- features/bard_pull.feature
|
126
127
|
- features/bard_push.feature
|
128
|
+
- features/step_definitions/check_steps.rb
|
127
129
|
- features/step_definitions/git_steps.rb
|
128
130
|
- features/step_definitions/global_steps.rb
|
129
131
|
- features/step_definitions/rails_steps.rb
|