librarian 0.0.24 → 0.0.25
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/.travis.yml +7 -1
- data/CHANGELOG.md +19 -1
- data/README.md +2 -9
- data/Rakefile +0 -11
- data/lib/librarian.rb +0 -8
- data/lib/librarian/action/base.rb +6 -4
- data/lib/librarian/chef/cli.rb +1 -1
- data/lib/librarian/chef/integration/knife.rb +4 -0
- data/lib/librarian/chef/manifest_reader.rb +14 -2
- data/lib/librarian/chef/source/local.rb +2 -0
- data/lib/librarian/chef/source/site.rb +49 -41
- data/lib/librarian/cli.rb +32 -17
- data/lib/librarian/dependency.rb +1 -9
- data/lib/librarian/dsl.rb +6 -3
- data/lib/librarian/dsl/receiver.rb +10 -12
- data/lib/librarian/dsl/target.rb +5 -10
- data/lib/librarian/environment.rb +41 -2
- data/lib/librarian/lockfile.rb +0 -4
- data/lib/librarian/lockfile/compiler.rb +0 -4
- data/lib/librarian/lockfile/parser.rb +0 -4
- data/lib/librarian/logger.rb +46 -0
- data/lib/librarian/manifest.rb +1 -9
- data/lib/librarian/resolution.rb +5 -3
- data/lib/librarian/resolver.rb +6 -1
- data/lib/librarian/resolver/implementation.rb +18 -8
- data/lib/librarian/source/git.rb +2 -0
- data/lib/librarian/source/git/repository.rb +9 -5
- data/lib/librarian/source/local.rb +12 -2
- data/lib/librarian/spec.rb +4 -4
- data/lib/librarian/spec_change_set.rb +7 -4
- data/lib/librarian/specfile.rb +3 -8
- data/lib/librarian/version.rb +1 -1
- data/librarian.gemspec +3 -9
- data/spec/functional/chef/cli_spec.rb +194 -0
- data/spec/functional/chef/source/site_spec.rb +11 -10
- data/spec/functional/source/git/repository_spec.rb +1 -1
- data/spec/support/cli_macro.rb +122 -0
- data/spec/support/with_env_macro.rb +20 -0
- data/spec/unit/config/database_spec.rb +2 -2
- data/spec/unit/dependency_spec.rb +6 -0
- data/spec/unit/dsl_spec.rb +16 -37
- data/spec/unit/environment_spec.rb +95 -0
- data/spec/unit/manifest_spec.rb +6 -0
- data/spec/unit/resolver_spec.rb +41 -0
- metadata +7 -42
- data/config/cucumber.yaml +0 -1
- data/features/chef/cli/init.feature +0 -11
- data/features/chef/cli/install.feature +0 -64
- data/features/chef/cli/show.feature +0 -77
- data/features/chef/cli/version.feature +0 -11
- data/features/support/env.rb +0 -9
- data/lib/librarian/helpers/debug.rb +0 -35
data/config/cucumber.yaml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
default: --tags ~@wip --format progress
|
@@ -1,64 +0,0 @@
|
|
1
|
-
Feature: cli/install
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
Scenario: A simple Cheffile with one cookbook
|
6
|
-
Given a file named "cookbook-sources/apt/metadata.yaml" with:
|
7
|
-
"""
|
8
|
-
name: apt
|
9
|
-
version: 1.0.0
|
10
|
-
dependencies: { }
|
11
|
-
"""
|
12
|
-
Given a file named "Cheffile" with:
|
13
|
-
"""
|
14
|
-
cookbook 'apt',
|
15
|
-
:path => 'cookbook-sources'
|
16
|
-
"""
|
17
|
-
When I run `librarian-chef install --verbose`
|
18
|
-
Then the exit status should be 0
|
19
|
-
And the file "cookbooks/apt/metadata.yaml" should contain exactly:
|
20
|
-
"""
|
21
|
-
name: apt
|
22
|
-
version: 1.0.0
|
23
|
-
dependencies: { }
|
24
|
-
"""
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
Scenario: A simple Cheffile with one cookbook with one dependency
|
29
|
-
Given a file named "cookbook-sources/main/metadata.yaml" with:
|
30
|
-
"""
|
31
|
-
name: main
|
32
|
-
version: 1.0.0
|
33
|
-
dependencies:
|
34
|
-
sub: 1.0.0
|
35
|
-
"""
|
36
|
-
Given a file named "cookbook-sources/sub/metadata.yaml" with:
|
37
|
-
"""
|
38
|
-
name: sub
|
39
|
-
version: 1.0.0
|
40
|
-
dependencies: {}
|
41
|
-
"""
|
42
|
-
Given a file named "Cheffile" with:
|
43
|
-
"""
|
44
|
-
path 'cookbook-sources'
|
45
|
-
cookbook 'main'
|
46
|
-
"""
|
47
|
-
When I run `librarian-chef install --verbose`
|
48
|
-
Then the exit status should be 0
|
49
|
-
And the file "cookbooks/main/metadata.yaml" should contain exactly:
|
50
|
-
"""
|
51
|
-
name: main
|
52
|
-
version: 1.0.0
|
53
|
-
dependencies:
|
54
|
-
sub: 1.0.0
|
55
|
-
"""
|
56
|
-
And the file "cookbooks/sub/metadata.yaml" should contain exactly:
|
57
|
-
"""
|
58
|
-
name: sub
|
59
|
-
version: 1.0.0
|
60
|
-
dependencies: {}
|
61
|
-
"""
|
62
|
-
|
63
|
-
|
64
|
-
|
@@ -1,77 +0,0 @@
|
|
1
|
-
Feature: cli/show
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
Background: A simple Cheffile with one cookbook with one dependency
|
6
|
-
Given a file named "cookbook-sources/main/metadata.yaml" with:
|
7
|
-
"""
|
8
|
-
name: main
|
9
|
-
version: 1.0.0
|
10
|
-
dependencies:
|
11
|
-
sub: 1.0.0
|
12
|
-
"""
|
13
|
-
Given a file named "cookbook-sources/sub/metadata.yaml" with:
|
14
|
-
"""
|
15
|
-
name: sub
|
16
|
-
version: 1.0.0
|
17
|
-
dependencies: {}
|
18
|
-
"""
|
19
|
-
Given a file named "Cheffile" with:
|
20
|
-
"""
|
21
|
-
path 'cookbook-sources'
|
22
|
-
cookbook 'main'
|
23
|
-
"""
|
24
|
-
Given I run `librarian-chef install`
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
Scenario: Showing al without a lockfile
|
29
|
-
Given I remove the file "Cheffile.lock"
|
30
|
-
When I run `librarian-chef show`
|
31
|
-
Then the exit status should be 1
|
32
|
-
Then the output should contain exactly:
|
33
|
-
"""
|
34
|
-
Be sure to install first!
|
35
|
-
|
36
|
-
"""
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
Scenario: Showing all
|
41
|
-
When I run `librarian-chef show`
|
42
|
-
Then the exit status should be 0
|
43
|
-
Then the output should contain exactly:
|
44
|
-
"""
|
45
|
-
main (1.0.0)
|
46
|
-
sub (1.0.0)
|
47
|
-
|
48
|
-
"""
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
Scenario: Showing one without dependencies
|
53
|
-
When I run `librarian-chef show sub`
|
54
|
-
Then the exit status should be 0
|
55
|
-
Then the output should contain exactly:
|
56
|
-
"""
|
57
|
-
sub (1.0.0)
|
58
|
-
source: cookbook-sources
|
59
|
-
|
60
|
-
"""
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
Scenario: Showing one with dependencies
|
65
|
-
When I run `librarian-chef show main`
|
66
|
-
Then the exit status should be 0
|
67
|
-
Then the output should contain exactly:
|
68
|
-
"""
|
69
|
-
main (1.0.0)
|
70
|
-
source: cookbook-sources
|
71
|
-
dependencies:
|
72
|
-
sub (= 1.0.0)
|
73
|
-
|
74
|
-
"""
|
75
|
-
|
76
|
-
|
77
|
-
|
data/features/support/env.rb
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
require 'librarian/support/abstract_method'
|
2
|
-
|
3
|
-
module Librarian
|
4
|
-
module Helpers
|
5
|
-
module Debug
|
6
|
-
|
7
|
-
include Support::AbstractMethod
|
8
|
-
|
9
|
-
LIBRARIAN_PATH = Pathname.new('../../../../').expand_path(__FILE__)
|
10
|
-
|
11
|
-
abstract_method :environment
|
12
|
-
|
13
|
-
private
|
14
|
-
|
15
|
-
def relative_path_to(path)
|
16
|
-
environment.project_relative_path_to(path)
|
17
|
-
end
|
18
|
-
|
19
|
-
def debug
|
20
|
-
if ui = environment.ui
|
21
|
-
if ui.respond_to? :debug_line_numbers and ui.debug_line_numbers
|
22
|
-
loc = caller.find{|l| !(l =~ /in `debug'$/)}
|
23
|
-
if loc =~ /^(.+):(\d+):in `(.+)'$/
|
24
|
-
loc = "#{Pathname.new($1).relative_path_from(LIBRARIAN_PATH)}:#{$2}:in `#{$3}'"
|
25
|
-
end
|
26
|
-
ui.debug { "[Librarian] #{yield} [#{loc}]" }
|
27
|
-
else
|
28
|
-
ui.debug { "[Librarian] #{yield}" }
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|