librarianp 0.6.3 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 11c125c2dd54a4c4d8e2c201d83e47575f74f28e
4
- data.tar.gz: 0702df2d225e4ad32a73a5fd392848bcf2c5847b
2
+ SHA256:
3
+ metadata.gz: 9c9763e69ec0059b3de54d6be45d61a1c1d8d1da005e7292152c8d87236e6da1
4
+ data.tar.gz: 8d3ffe4bcccec279c81f3028573aa3b96428c4a98ac09719cf5a5f7317bed661
5
5
  SHA512:
6
- metadata.gz: 084ff6e04992a0a4e2b27ca80e3b073ebb83024b02ac5adca0448052b2120e3afbf99097be175f8c04210061ef61ed0c60154c8c4aa9f3ec1edf1247d5e18a9f
7
- data.tar.gz: 3ee1697ff16421ea291221867e836dc4ac134b0e8e762d3e7a3ad31c4773ad9dca30c12566d50fd282abb7ccb19e5bb77ac7aa7fe63d0c92c17ce89c9fa0566a
6
+ metadata.gz: d678620dd06362ff48aae226af3ae5cdac3ea2543d111b06c95e972f8d578dc7a100d4efba45eeb23f3f3dd41883979e80c8f33e86e193ed1a111dc3692d3b62
7
+ data.tar.gz: 20a5aafef57724f5e9a11638cebec6d5e0de4225826ed510e13413521064defa87c39884c4e739d33653f35c5b19158fe87b836438c4fd90f48d725891a94f0d
@@ -0,0 +1,32 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - '*'
7
+
8
+ jobs:
9
+ release:
10
+ runs-on: ubuntu-latest
11
+ if: github.repository_owner == 'voxpupuli'
12
+ steps:
13
+ - uses: actions/checkout@v2
14
+ - name: Install Ruby 3.0
15
+ uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: '3.0'
18
+ env:
19
+ BUNDLE_WITHOUT: release
20
+ - name: Build gem
21
+ run: gem build *.gemspec
22
+ - name: Publish gem to rubygems.org
23
+ run: gem push *.gem
24
+ env:
25
+ GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_AUTH_TOKEN }}'
26
+ - name: Setup GitHub packages access
27
+ run: |
28
+ mkdir -p ~/.gem
29
+ echo ":github: Bearer ${{ secrets.GITHUB_TOKEN }}" >> ~/.gem/credentials
30
+ chmod 0600 ~/.gem/credentials
31
+ - name: Publish gem to GitHub packages
32
+ run: gem push --key github --host https://rubygems.pkg.github.com/${{ github.repository_owner }} *.gem
@@ -0,0 +1,29 @@
1
+ name: Test
2
+
3
+ on:
4
+ - pull_request
5
+ - push
6
+
7
+ jobs:
8
+ test:
9
+ runs-on: ubuntu-latest
10
+ strategy:
11
+ fail-fast: false
12
+ matrix:
13
+ ruby:
14
+ - "2.4"
15
+ - "2.5"
16
+ - "2.6"
17
+ - "2.7"
18
+ - "3.0"
19
+ steps:
20
+ - uses: actions/checkout@v2
21
+ - name: Install Ruby ${{ matrix.ruby }}
22
+ uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: ${{ matrix.ruby }}
25
+ bundler-cache: true
26
+ - name: Run tests
27
+ run: bundle exec rake spec
28
+ - name: Verify gem builds
29
+ run: gem build *.gemspec
data/.gitignore CHANGED
@@ -3,3 +3,4 @@
3
3
  pkg/*
4
4
  tmp
5
5
  vendor
6
+ Gemfile.lock
data/.rspec CHANGED
@@ -1 +1,2 @@
1
1
  --color
2
+ --format documentation
data/CHANGELOG.md CHANGED
@@ -1,5 +1,44 @@
1
1
  # Change Log
2
2
 
3
+ ## 1.1.1
4
+
5
+ * Fix one more Ruby 3 compatibility issue
6
+ * Search for the Rakefile relatively to pwd
7
+
8
+ ## 1.1.0
9
+
10
+ * Support Ruby 3
11
+
12
+ ## 1.0.0
13
+
14
+ * Require Ruby 2.4+
15
+ * Update dependencies to the latest versions
16
+ * Be specific about exposing git environment variables
17
+ * Allow more spaces in version range
18
+
19
+ ## 0.6.4
20
+
21
+ * Add support for r10k Puppetfile's opts
22
+ * Fix deprecation warnings
23
+ * Fix compatibility with git 2.14.0
24
+
25
+ ## 0.6.3
26
+
27
+ * Prevent losing specfile path when metadata doesn't exist
28
+
29
+ ## 0.6.2
30
+
31
+ * Fix bad variable name
32
+
33
+ ## 0.6.1
34
+
35
+ * Fix dependencies not being fetched
36
+
37
+ ## 0.6.0
38
+
39
+ * Merge duplicated dependencies in spec
40
+ * Always fetch the commit SHA from rev-parse
41
+
3
42
  ## 0.5.0
4
43
 
5
44
  * Allow defining exclusions in spec file
data/Gemfile CHANGED
@@ -2,7 +2,3 @@ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in librarian.gemspec
4
4
  gemspec
5
-
6
- gem "fakefs"
7
-
8
- gem "rubysl", :platforms => %w[rbx]
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- Librarian [![Build Status](https://secure.travis-ci.org/carlossg/librarian.png)](http://travis-ci.org/carlossg/librarian) [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/carlossg/librarian)
1
+ Librarian [![Build Status](https://secure.travis-ci.org/voxpupuli/librarian.png)](https://travis-ci.org/voxpupuli/librarian)
2
2
  =========
3
3
 
4
4
  This is a forked version published as `librarianp` with improvements in order to support `librarian-puppet`.
@@ -27,7 +27,7 @@ Ensure the gem dependencies are installed:
27
27
  Run the tests with the default rake task:
28
28
 
29
29
  $ [bundle exec] rake
30
-
30
+
31
31
  or directly with the rspec command:
32
32
 
33
33
  $ [bundle exec] rspec spec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.3
1
+ 1.1.1
data/lib/librarian/cli.rb CHANGED
@@ -192,7 +192,7 @@ module Librarian
192
192
  debug { "Git: #{Source::Git::Repository.bin}" }
193
193
  debug { "Git Version: #{Source::Git::Repository.git_version}" }
194
194
  debug { "Git Environment Variables:" }
195
- git_env = ENV.to_a.select{|(k, v)| k =~ /\AGIT/}.sort_by{|(k, v)| k}
195
+ git_env = ENV.to_a.select{|(k, v)| k =~ /\AGIT_/}.sort_by{|(k, v)| k}
196
196
  if git_env.empty?
197
197
  debug { " (empty)" }
198
198
  else
@@ -125,7 +125,7 @@ module Librarian
125
125
 
126
126
  # A version range: >=1.0 <2.0
127
127
  def range_requirement(arg)
128
- arg.match(/(>=? ?\d+(?:\.\d+){0,2}) (<=? ?\d+(?:\.\d+){0,2})/)
128
+ arg.match(/(>=? ?\d+(?:\.\d+){0,2})\s*(<=? ?\d+(?:\.\d+){0,2})/)
129
129
  end
130
130
 
131
131
  # A string with .x: 1.x, 2.1.x
@@ -25,8 +25,8 @@ module Librarian
25
25
  end
26
26
  end
27
27
 
28
- def run(specfile = nil)
29
- specfile = Proc.new if block_given?
28
+ def run(specfile = nil, &block)
29
+ specfile = block if block
30
30
 
31
31
  case specfile
32
32
  when Pathname
data/lib/librarian/dsl.rb CHANGED
@@ -79,14 +79,14 @@ module Librarian
79
79
  Receiver.new(target)
80
80
  end
81
81
 
82
- def run(specfile = nil, sources = [])
82
+ def run(specfile = nil, sources = [], &block)
83
83
  specfile, sources = nil, specfile if specfile.kind_of?(Array) && sources.empty?
84
84
 
85
85
  Target.new(self).tap do |target|
86
86
  target.precache_sources(sources)
87
87
  debug_named_source_cache("Pre-Cached Sources", target)
88
88
 
89
- specfile ||= Proc.new if block_given?
89
+ specfile ||= block if block_given?
90
90
 
91
91
  if specfile.kind_of?(Pathname) and !File.exists?(specfile)
92
92
  debug { "Specfile #{specfile} not found, using defaults" } unless specfile.nil?
@@ -51,7 +51,7 @@ module Librarian
51
51
  def self.included(base)
52
52
  base.instance_exec do
53
53
  let(:project_path) do
54
- project_path = Pathname.new(__FILE__).expand_path
54
+ project_path = Pathname.pwd.expand_path
55
55
  project_path = project_path.dirname until project_path.join("Rakefile").exist?
56
56
  project_path
57
57
  end
@@ -21,7 +21,7 @@ module Librarian
21
21
  end
22
22
 
23
23
  def git_version
24
- command = %W[#{bin} version --silent]
24
+ command = %W[#{bin} version]
25
25
  Posix.run!(command).strip =~ /\Agit version (\d+(\.\d+)*)/ && $1
26
26
  end
27
27
  end
@@ -14,7 +14,7 @@ module Librarian
14
14
  include Local
15
15
 
16
16
  lock_name 'GIT'
17
- spec_options [:ref, :path]
17
+ spec_options [:ref, :branch, :tag, :commit, :path]
18
18
 
19
19
  DEFAULTS = {
20
20
  :ref => 'master'
@@ -23,13 +23,17 @@ module Librarian
23
23
  attr_accessor :environment
24
24
  private :environment=
25
25
 
26
- attr_accessor :uri, :ref, :sha, :path
27
- private :uri=, :ref=, :sha=, :path=
26
+ attr_accessor :uri, :ref, :branch, :tag, :commit, :sha, :path
27
+ private :uri=, :ref=, :branch=, :tag=, :commit=, :sha=, :path=
28
28
 
29
29
  def initialize(environment, uri, options)
30
+ validate_options(uri, options)
31
+
30
32
  self.environment = environment
31
33
  self.uri = uri
32
- self.ref = options[:ref] || DEFAULTS[:ref]
34
+ self.ref = options[:ref] || options[:branch] ||
35
+ options[:tag] || options[:commit] ||
36
+ DEFAULTS[:ref]
33
37
  self.sha = options[:sha]
34
38
  self.path = options[:path]
35
39
 
@@ -173,6 +177,13 @@ module Librarian
173
177
  @runtime_cache ||= environment.runtime_cache.keyspace(self.class.name)
174
178
  end
175
179
 
180
+ def validate_options(uri, options)
181
+ found = 0; [:ref, :branch, :tag, :commit].each do |opt|
182
+ found += 1 if options.has_key?(opt)
183
+ found > 1 and raise Error,
184
+ "at #{uri}, use only one of ref, branch, tag, or commit"
185
+ end
186
+ end
176
187
  end
177
188
  end
178
189
  end
@@ -0,0 +1,28 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+
5
+ Gem::Specification.new do |gem|
6
+ gem.name = "librarianp"
7
+ gem.version = File.read(File.expand_path('VERSION', __dir__)).strip
8
+ gem.authors = ["Jay Feldblum", "Carlos Sanchez"]
9
+ gem.email = ["y_feldblum@yahoo.com", "carlos@apache.org"]
10
+ gem.summary = %q{A Framework for Bundlers.}
11
+ gem.description = %q{A Framework for Bundlers, used by librarian-puppet.}
12
+ gem.homepage = "https://github.com/voxpupuli/librarian"
13
+ gem.license = "MIT"
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
+ gem.require_paths = ["lib"]
19
+
20
+ gem.required_ruby_version = '>= 2.4', '< 4'
21
+
22
+ gem.add_dependency "thor", "~> 1.0"
23
+
24
+ gem.add_development_dependency "rake"
25
+ gem.add_development_dependency "rspec", "~> 3.0"
26
+ gem.add_development_dependency "json"
27
+ gem.add_development_dependency "fakefs", "~> 1.0"
28
+ end
@@ -40,20 +40,20 @@ describe Librarian::Source::Git::Repository do
40
40
  # master
41
41
  FileUtils.touch "butter.txt"
42
42
  git! %W[add butter.txt]
43
- git! %W[commit -m #{"Initial Commit"}]
43
+ git! %W[commit -m #{"Initial Commit"} --no-gpg-sign]
44
44
 
45
45
  # branch
46
46
  git! %W[checkout -b #{branch} --quiet]
47
47
  FileUtils.touch "jam.txt"
48
48
  git! %W[add jam.txt]
49
- git! %W[commit -m #{"Branch Commit"}]
49
+ git! %W[commit -m #{"Branch Commit"} --no-gpg-sign]
50
50
  git! %W[checkout master --quiet]
51
51
 
52
52
  # tag/atag
53
53
  git! %W[checkout -b deletable --quiet]
54
54
  FileUtils.touch "jelly.txt"
55
55
  git! %W[add jelly.txt]
56
- git! %W[commit -m #{"Tag Commit"}]
56
+ git! %W[commit -m #{"Tag Commit"} --no-gpg-sign]
57
57
  git! %W[tag #{tag}]
58
58
  git! %W[tag -am #{"Annotated Tag Commit"} #{atag}]
59
59
  git! %W[checkout master --quiet]
@@ -108,7 +108,7 @@ describe Librarian::Source::Git::Repository do
108
108
  end
109
109
 
110
110
  it "should have a single remote for it" do
111
- expect(subject).to have(1).remote_names
111
+ expect(subject.remote_names.size).to eq 1
112
112
  end
113
113
 
114
114
  it "should have a remote with the expected name" do
@@ -54,7 +54,7 @@ describe Librarian::Source::Git do
54
54
  git! %W[config user.email simba@savannah-pride.gov]
55
55
  FileUtils.touch "butter.txt"
56
56
  git! %W[add butter.txt]
57
- git! %W[commit -m #{"Initial Commit"}]
57
+ git! %W[commit -m #{"Initial Commit"} --no-gpg-sign]
58
58
  end
59
59
  end
60
60
 
@@ -150,7 +150,7 @@ describe Librarian::Source::Git do
150
150
  Dir.chdir(git_source_path) do
151
151
  FileUtils.touch "jam.txt"
152
152
  git! %w[add jam.txt]
153
- git! %W[commit -m #{"Some Jam"}]
153
+ git! %W[commit -m #{"Some Jam"} --no-gpg-sign]
154
154
  end
155
155
  end
156
156
 
@@ -7,7 +7,7 @@ module Librarian
7
7
  let(:action) { described_class.new(env) }
8
8
 
9
9
  before do
10
- action.stub(:debug)
10
+ allow(action).to receive(:debug)
11
11
  end
12
12
 
13
13
  describe "#run" do
@@ -21,12 +21,12 @@ module Librarian
21
21
  describe "clearing the cache path" do
22
22
 
23
23
  before do
24
- action.stub(:clean_install_path)
24
+ allow(action).to receive(:clean_install_path)
25
25
  end
26
26
 
27
27
  context "when the cache path is missing" do
28
28
  before do
29
- env.stub_chain(:cache_path, :exist?) { false }
29
+ allow(env).to receive_message_chain(:cache_path, :exist?).and_return(false)
30
30
  end
31
31
 
32
32
  it "should not try to clear the cache path" do
@@ -36,7 +36,7 @@ module Librarian
36
36
 
37
37
  context "when the cache path is present" do
38
38
  before do
39
- env.stub_chain(:cache_path, :exist?) { true }
39
+ allow(env).to receive_message_chain(:cache_path, :exist?).and_return(true)
40
40
  end
41
41
 
42
42
  it "should try to clear the cache path" do
@@ -49,12 +49,12 @@ module Librarian
49
49
  describe "clearing the install path" do
50
50
 
51
51
  before do
52
- action.stub(:clean_cache_path)
52
+ allow(action).to receive(:clean_cache_path)
53
53
  end
54
54
 
55
55
  context "when the install path is missing" do
56
56
  before do
57
- env.stub_chain(:install_path, :exist?) { false }
57
+ allow(env).to receive_message_chain(:install_path, :exist?).and_return(false)
58
58
  end
59
59
 
60
60
  it "should not try to clear the install path" do
@@ -64,15 +64,15 @@ module Librarian
64
64
 
65
65
  context "when the install path is present" do
66
66
  before do
67
- env.stub_chain(:install_path, :exist?) { true }
67
+ allow(env).to receive_message_chain(:install_path, :exist?).and_return(true)
68
68
  end
69
69
 
70
70
  it "should try to clear the install path" do
71
71
  children = [double, double, double]
72
72
  children.each do |child|
73
- child.stub(:file?) { false }
73
+ allow(child).to receive(:file?).and_return(false)
74
74
  end
75
- env.stub_chain(:install_path, :children) { children }
75
+ allow(env).to receive_message_chain(:install_path, :children).and_return(children)
76
76
 
77
77
  children.each do |child|
78
78
  expect(child).to receive(:rmtree).exactly(:once)
@@ -81,7 +81,7 @@ module Librarian
81
81
 
82
82
  it "should only try to clear out directories from the install path, not files" do
83
83
  children = [double(:file? => false), double(:file? => true), double(:file? => true)]
84
- env.stub_chain(:install_path, :children) { children }
84
+ allow(env).to receive_message_chain(:install_path, :children).and_return(children)
85
85
 
86
86
  children.select(&:file?).each do |child|
87
87
  expect(child).to receive(:rmtree).never
@@ -10,13 +10,13 @@ module Librarian
10
10
  let(:action) { described_class.new(env) }
11
11
 
12
12
  before do
13
- env.stub(:specfile_name) { "Specfile" }
13
+ allow(env).to receive(:specfile_name).and_return("Specfile")
14
14
  end
15
15
 
16
16
  describe "#run" do
17
17
 
18
18
  context "when the environment does not know its project path" do
19
- before { env.stub(:project_path) { nil } }
19
+ before { allow(env).to receive(:project_path).and_return(nil) }
20
20
 
21
21
  it "should raise an error describing that the specfile is mising" do
22
22
  expect { action.run }.to raise_error(Error, "Cannot find Specfile!")
@@ -24,7 +24,7 @@ module Librarian
24
24
  end
25
25
 
26
26
  context "when the environment knows its project path" do
27
- before { env.stub(:project_path) { Dir.tmpdir } }
27
+ before { allow(env).to receive(:project_path) { Dir.tmpdir } }
28
28
 
29
29
  it "should not raise an error" do
30
30
  expect { action.run }.to_not raise_error
@@ -15,7 +15,7 @@ module Librarian
15
15
 
16
16
  context "when the specfile is missing" do
17
17
  before do
18
- env.stub_chain(:specfile_path, :exist?) { false }
18
+ allow(env).to receive_message_chain(:specfile_path, :exist?) { false }
19
19
  end
20
20
 
21
21
  it "should raise an error explaining that the specfile is missing" do
@@ -25,8 +25,8 @@ module Librarian
25
25
 
26
26
  context "when the specfile is present but the lockfile is missing" do
27
27
  before do
28
- env.stub_chain(:specfile_path, :exist?) { true }
29
- env.stub_chain(:lockfile_path, :exist?) { false }
28
+ allow(env).to receive_message_chain(:specfile_path, :exist?) { true }
29
+ allow(env).to receive_message_chain(:lockfile_path, :exist?) { false }
30
30
  end
31
31
 
32
32
  it "should raise an error explaining that the lockfile is missing" do
@@ -36,9 +36,9 @@ module Librarian
36
36
 
37
37
  context "when the specfile and lockfile are present but inconsistent" do
38
38
  before do
39
- env.stub_chain(:specfile_path, :exist?) { true }
40
- env.stub_chain(:lockfile_path, :exist?) { true }
41
- action.stub(:spec_consistent_with_lock?) { false }
39
+ allow(env).to receive_message_chain(:specfile_path, :exist?) { true }
40
+ allow(env).to receive_message_chain(:lockfile_path, :exist?) { true }
41
+ allow(action).to receive(:spec_consistent_with_lock?) { false }
42
42
  end
43
43
 
44
44
  it "should raise an error explaining the inconsistenty" do
@@ -48,10 +48,10 @@ module Librarian
48
48
 
49
49
  context "when the specfile and lockfile are present and consistent" do
50
50
  before do
51
- env.stub_chain(:specfile_path, :exist?) { true }
52
- env.stub_chain(:lockfile_path, :exist?) { true }
53
- action.stub(:spec_consistent_with_lock?) { true }
54
- action.stub(:perform_installation)
51
+ allow(env).to receive_message_chain(:specfile_path, :exist?) { true }
52
+ allow(env).to receive_message_chain(:lockfile_path, :exist?) { true }
53
+ allow(action).to receive(:spec_consistent_with_lock?) { true }
54
+ allow(action).to receive(:perform_installation)
55
55
  end
56
56
 
57
57
  it "should not raise an error" do
@@ -72,10 +72,10 @@ module Librarian
72
72
  let(:install_path) { double }
73
73
 
74
74
  before do
75
- env.stub(:install_path) { install_path }
76
- action.stub(:check_preconditions)
77
- action.stub(:destructive?) { true }
78
- action.stub_chain(:lock, :manifests) { manifests }
75
+ allow(env).to receive(:install_path) { install_path }
76
+ allow(action).to receive(:check_preconditions)
77
+ allow(action).to receive(:destructive?) { true }
78
+ allow(action).to receive_message_chain(:lock, :manifests) { manifests }
79
79
  end
80
80
 
81
81
  after do
@@ -85,7 +85,7 @@ module Librarian
85
85
  it "should sort and install the manifests" do
86
86
  expect(ManifestSet).to receive(:sort).with(manifests).exactly(:once).ordered { sorted_manifests }
87
87
 
88
- install_path.stub(:exist?) { false }
88
+ allow(install_path).to receive(:exist?) { false }
89
89
  expect(install_path).to receive(:mkpath).exactly(:once).ordered
90
90
 
91
91
  sorted_manifests.each do |manifest|
@@ -94,10 +94,10 @@ module Librarian
94
94
  end
95
95
 
96
96
  it "should recreate the install path if it already exists" do
97
- action.stub(:sorted_manifests) { sorted_manifests }
98
- action.stub(:install_manifests)
97
+ allow(action).to receive(:sorted_manifests) { sorted_manifests }
98
+ allow(action).to receive(:install_manifests)
99
99
 
100
- install_path.stub(:exist?) { true }
100
+ allow(install_path).to receive(:exist?) { true }
101
101
  expect(install_path).to receive(:rmtree)
102
102
  expect(install_path).to receive(:mkpath)
103
103
  end
@@ -15,7 +15,7 @@ module Librarian
15
15
  let(:source2) { Librarian::Mock::Source::Mock.new(env, "source2", {}) }
16
16
 
17
17
  before do
18
- env.stub(:specfile => double(:read => spec))
18
+ allow(env).to receive_messages(:specfile => double(:read => spec))
19
19
  end
20
20
 
21
21
  describe "#run" do
@@ -35,8 +35,9 @@ module Librarian
35
35
  end
36
36
 
37
37
  it "should merge duplicated dependencies" do
38
- Dependency.any_instance.stub(:manifests => [manifest])
39
- action.stub(:persist_resolution)
38
+ allow_any_instance_of(Dependency).to receive_messages(:manifests => [manifest])
39
+ allow_any_instance_of(Librarian::Logger).to receive(:info)
40
+ allow(action).to receive(:persist_resolution)
40
41
  resolution = action.run
41
42
  expect(resolution.dependencies).to eq([dependency2])
42
43
  end
@@ -5,7 +5,7 @@ module Librarian
5
5
 
6
6
  describe AdjacencyListDirectedGraph do
7
7
 
8
- describe :cyclic? do
8
+ describe 'cyclic?' do
9
9
  subject(:result) { described_class.cyclic?(graph) }
10
10
 
11
11
  context "with an empty graph" do
@@ -45,7 +45,7 @@ module Librarian
45
45
 
46
46
  end
47
47
 
48
- describe :feedback_arc_set do
48
+ describe 'feedback_arc_set' do
49
49
  subject(:result) { described_class.feedback_arc_set(graph) }
50
50
 
51
51
  context "with an empty graph" do
@@ -85,7 +85,7 @@ module Librarian
85
85
 
86
86
  end
87
87
 
88
- describe :tsort_cyclic do
88
+ describe 'tsort_cyclic' do
89
89
  subject(:result) { described_class.tsort_cyclic(graph) }
90
90
 
91
91
  context "with an empty graph" do
@@ -10,27 +10,28 @@ describe Librarian::Dependency::Requirement do
10
10
  end
11
11
 
12
12
  it 'should handle nil versions' do
13
- described_class.new(nil).to_gem_requirement.should eq(Gem::Requirement.new)
13
+ expect(described_class.new(nil).to_gem_requirement).to eq(Gem::Requirement.new)
14
14
  end
15
15
 
16
16
  it 'should handle nil versions in arrays' do
17
- described_class.new([nil]).to_gem_requirement.should eq(Gem::Requirement.new)
17
+ expect(described_class.new([nil]).to_gem_requirement).to eq(Gem::Requirement.new)
18
18
  end
19
19
 
20
20
  it 'should handle .x versions' do
21
- described_class.new('1.x').to_gem_requirement.should eq(Gem::Requirement.new('~> 1.0'))
22
- described_class.new('1.0.x').to_gem_requirement.should eq(Gem::Requirement.new('~> 1.0.0'))
21
+ expect(described_class.new('1.x').to_gem_requirement).to eq(Gem::Requirement.new('~> 1.0'))
22
+ expect(described_class.new('1.0.x').to_gem_requirement).to eq(Gem::Requirement.new('~> 1.0.0'))
23
23
  end
24
24
 
25
25
  it 'should handle version ranges' do
26
- described_class.new('>=1.1.0 <2.0.0').to_gem_requirement.should eq(Gem::Requirement.new(['>=1.1.0', '<2.0.0']))
26
+ expect(described_class.new('>=1.1.0 <2.0.0').to_gem_requirement).to eq(Gem::Requirement.new(['>=1.1.0', '<2.0.0']))
27
+ expect(described_class.new('>=1.1.0 <2.0.0').to_gem_requirement).to eq(Gem::Requirement.new(['>=1.1.0', '<2.0.0']))
27
28
  end
28
29
 
29
30
  it 'should print to_s' do
30
- described_class.new('1.x').to_s.should eq('~> 1.0')
31
+ expect(described_class.new('1.x').to_s).to eq('~> 1.0')
31
32
  s = described_class.new('>=1.1.0 <2.0.0').to_s
32
- s.should include(">= 1.1.0")
33
- s.should include("< 2.0.0")
33
+ expect(s).to include(">= 1.1.0")
34
+ expect(s).to include("< 2.0.0")
34
35
  end
35
36
 
36
37
  end
@@ -26,7 +26,7 @@ module Librarian
26
26
  with_env "HOME" => "/path/to/home"
27
27
 
28
28
  it "finds the home" do
29
- env.stub(:adapter_name).and_return("cat")
29
+ allow(env).to receive(:adapter_name).and_return("cat")
30
30
  expect(env.config_db.underlying_home.to_s).to eq "/path/to/home"
31
31
  end
32
32
  end
@@ -36,7 +36,7 @@ module Librarian
36
36
  with_env "HOME" => nil
37
37
 
38
38
  it "finds the home" do
39
- env.stub(:adapter_name).and_return("cat")
39
+ allow(env).to receive(:adapter_name).and_return("cat")
40
40
  expect(env.config_db.underlying_home.to_s).to eq real_home
41
41
  end
42
42
  end
@@ -45,7 +45,7 @@ module Librarian
45
45
  end
46
46
 
47
47
  it "should give a list of one dependency" do
48
- expect(resolution).to have(1).dependencies
48
+ expect(resolution.dependencies.size).to eq 1
49
49
  end
50
50
 
51
51
  it "should give a dependency with the expected name" do
@@ -57,8 +57,7 @@ module Librarian
57
57
  it "should give a dependency with the expected requirement" do
58
58
  dependency = resolution.dependencies.first
59
59
 
60
- # Note: it must be this order because this order is lexicographically sorted.
61
- expect(dependency.requirement.to_s).to eq "!= 1.2.6, ~> 1.1"
60
+ expect(dependency.requirement).to eq Librarian::Dependency::Requirement.new(["~> 1.1", "!= 1.2.6"])
62
61
  end
63
62
 
64
63
  it "should give a dependency wth the expected source" do
@@ -69,7 +68,7 @@ module Librarian
69
68
  end
70
69
 
71
70
  it "should give a list of one manifest" do
72
- expect(resolution).to have(1).manifests
71
+ expect(resolution.manifests.size).to eq 1
73
72
  end
74
73
 
75
74
  it "should give a manifest with the expected name" do
@@ -125,7 +124,7 @@ module Librarian
125
124
  end
126
125
 
127
126
  it "should give a list of one dependency" do
128
- expect(resolution).to have(1).dependencies
127
+ expect(resolution.dependencies.size).to eq 1
129
128
  end
130
129
 
131
130
  it "should have the expected dependency" do
@@ -135,7 +134,7 @@ module Librarian
135
134
  end
136
135
 
137
136
  it "should give a list of all the manifests" do
138
- expect(resolution).to have(2).manifests
137
+ expect(resolution.manifests.size).to eq 2
139
138
  end
140
139
 
141
140
  it "should include all the expected manifests" do
@@ -29,7 +29,7 @@ module Librarian
29
29
  subject { resolution }
30
30
 
31
31
  it { should be_correct }
32
- it { should have(1).manifests }
32
+ it { expect(subject.manifests.size).to eq 1 }
33
33
  end
34
34
  end
35
35
 
@@ -12,7 +12,7 @@ module Librarian
12
12
  let(:source) { described_class.new(env, "source-a", {}) }
13
13
  subject { source }
14
14
 
15
- its(:environment) { should_not be_nil }
15
+ it { expect(subject.environment).to_not be_nil }
16
16
 
17
17
  end
18
18
 
@@ -94,7 +94,7 @@ module Librarian
94
94
  end
95
95
 
96
96
  it "should have the expected number of sources" do
97
- expect(spec).to have(2).sources
97
+ expect(spec.sources.size).to eq 2
98
98
  end
99
99
 
100
100
  let(:resolution) { resolver.resolve(spec) }
@@ -288,7 +288,7 @@ module Librarian
288
288
  it "loads the specfile with the __FILE__" do
289
289
  write! specfile_path, "src __FILE__"
290
290
  spec = env.dsl(specfile_path)
291
- expect(spec.sources).to have(1).item
291
+ expect(spec.sources.size).to eq 1
292
292
  source = spec.sources.first
293
293
  expect(source.name).to eq specfile_path.to_s
294
294
  end
@@ -17,11 +17,17 @@ module Librarian
17
17
 
18
18
  context "with an unknown option" do
19
19
  it "should raise" do
20
- expect { described_class.from_spec_args(env, "some://git/repo.git", :branch => "megapatches") }.
21
- to raise_error Error, "unrecognized options: branch"
20
+ expect { described_class.from_spec_args(env, "some://git/repo.git", :I_am_unknown => "megapatches") }.
21
+ to raise_error Error, "unrecognized options: I_am_unknown"
22
22
  end
23
23
  end
24
24
 
25
+ context "with invalid options" do
26
+ it "should raise" do
27
+ expect { described_class.from_spec_args(env, "some://git/repo.git", {:ref => "megapatches", :branch => "megapatches"}) }.
28
+ to raise_error Error, "at some://git/repo.git, use only one of ref, branch, tag, or commit"
29
+ end
30
+ end
25
31
  end
26
32
 
27
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: librarianp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jay Feldblum
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-05-20 00:00:00.000000000 Z
12
+ date: 2021-08-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '0.15'
20
+ version: '1.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: '0.15'
27
+ version: '1.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rake
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -45,14 +45,14 @@ dependencies:
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '2.14'
48
+ version: '3.0'
49
49
  type: :development
50
50
  prerelease: false
51
51
  version_requirements: !ruby/object:Gem::Requirement
52
52
  requirements:
53
53
  - - "~>"
54
54
  - !ruby/object:Gem::Version
55
- version: '2.14'
55
+ version: '3.0'
56
56
  - !ruby/object:Gem::Dependency
57
57
  name: json
58
58
  requirement: !ruby/object:Gem::Requirement
@@ -73,14 +73,14 @@ dependencies:
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: 0.4.2
76
+ version: '1.0'
77
77
  type: :development
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: 0.4.2
83
+ version: '1.0'
84
84
  description: A Framework for Bundlers, used by librarian-puppet.
85
85
  email:
86
86
  - y_feldblum@yahoo.com
@@ -89,12 +89,12 @@ executables: []
89
89
  extensions: []
90
90
  extra_rdoc_files: []
91
91
  files:
92
+ - ".github/workflows/release.yml"
93
+ - ".github/workflows/test.yml"
92
94
  - ".gitignore"
93
95
  - ".rspec"
94
- - ".travis.yml"
95
96
  - CHANGELOG.md
96
97
  - Gemfile
97
- - Gemfile.lock
98
98
  - LICENSE.txt
99
99
  - README.md
100
100
  - Rakefile
@@ -159,7 +159,7 @@ files:
159
159
  - lib/librarian/support/abstract_method.rb
160
160
  - lib/librarian/ui.rb
161
161
  - lib/librarian/version.rb
162
- - librarian.gemspec
162
+ - librarianp.gemspec
163
163
  - spec/functional/cli_spec.rb
164
164
  - spec/functional/posix_spec.rb
165
165
  - spec/functional/source/git/repository_spec.rb
@@ -190,7 +190,7 @@ files:
190
190
  - spec/unit/resolver_spec.rb
191
191
  - spec/unit/source/git_spec.rb
192
192
  - spec/unit/spec_change_set_spec.rb
193
- homepage: https://github.com/carlossg/librarian
193
+ homepage: https://github.com/voxpupuli/librarian
194
194
  licenses:
195
195
  - MIT
196
196
  metadata: {}
@@ -202,15 +202,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
202
202
  requirements:
203
203
  - - ">="
204
204
  - !ruby/object:Gem::Version
205
- version: '0'
205
+ version: '2.4'
206
+ - - "<"
207
+ - !ruby/object:Gem::Version
208
+ version: '4'
206
209
  required_rubygems_version: !ruby/object:Gem::Requirement
207
210
  requirements:
208
211
  - - ">="
209
212
  - !ruby/object:Gem::Version
210
213
  version: '0'
211
214
  requirements: []
212
- rubyforge_project:
213
- rubygems_version: 2.4.6
215
+ rubygems_version: 3.2.22
214
216
  signing_key:
215
217
  specification_version: 4
216
218
  summary: A Framework for Bundlers.
data/.travis.yml DELETED
@@ -1,11 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- script: bundle exec rake
4
- rvm:
5
- - '2.2'
6
- - '2.1'
7
- - '2.0'
8
- - '1.9'
9
- - '1.8'
10
- - jruby-19mode
11
- - jruby-18mode
data/Gemfile.lock DELETED
@@ -1,233 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- librarianp (0.6.3)
5
- thor (~> 0.15)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- diff-lcs (1.2.5)
11
- fakefs (0.4.2)
12
- ffi2-generators (0.1.1)
13
- json (1.8.2)
14
- rake (10.4.2)
15
- rspec (2.99.0)
16
- rspec-core (~> 2.99.0)
17
- rspec-expectations (~> 2.99.0)
18
- rspec-mocks (~> 2.99.0)
19
- rspec-core (2.99.2)
20
- rspec-expectations (2.99.2)
21
- diff-lcs (>= 1.1.3, < 2.0)
22
- rspec-mocks (2.99.3)
23
- rubysl (2.1.0)
24
- rubysl-abbrev (~> 2.0)
25
- rubysl-base64 (~> 2.0)
26
- rubysl-benchmark (~> 2.0)
27
- rubysl-bigdecimal (~> 2.0)
28
- rubysl-cgi (~> 2.0)
29
- rubysl-cgi-session (~> 2.0)
30
- rubysl-cmath (~> 2.0)
31
- rubysl-complex (~> 2.0)
32
- rubysl-continuation (~> 2.0)
33
- rubysl-coverage (~> 2.0)
34
- rubysl-csv (~> 2.0)
35
- rubysl-curses (~> 2.0)
36
- rubysl-date (~> 2.0)
37
- rubysl-delegate (~> 2.0)
38
- rubysl-digest (~> 2.0)
39
- rubysl-drb (~> 2.0)
40
- rubysl-e2mmap (~> 2.0)
41
- rubysl-english (~> 2.0)
42
- rubysl-enumerator (~> 2.0)
43
- rubysl-erb (~> 2.0)
44
- rubysl-etc (~> 2.0)
45
- rubysl-expect (~> 2.0)
46
- rubysl-fcntl (~> 2.0)
47
- rubysl-fiber (~> 2.0)
48
- rubysl-fileutils (~> 2.0)
49
- rubysl-find (~> 2.0)
50
- rubysl-forwardable (~> 2.0)
51
- rubysl-getoptlong (~> 2.0)
52
- rubysl-gserver (~> 2.0)
53
- rubysl-io-console (~> 2.0)
54
- rubysl-io-nonblock (~> 2.0)
55
- rubysl-io-wait (~> 2.0)
56
- rubysl-ipaddr (~> 2.0)
57
- rubysl-irb (~> 2.1)
58
- rubysl-logger (~> 2.0)
59
- rubysl-mathn (~> 2.0)
60
- rubysl-matrix (~> 2.0)
61
- rubysl-mkmf (~> 2.0)
62
- rubysl-monitor (~> 2.0)
63
- rubysl-mutex_m (~> 2.0)
64
- rubysl-net-ftp (~> 2.0)
65
- rubysl-net-http (~> 2.0)
66
- rubysl-net-imap (~> 2.0)
67
- rubysl-net-pop (~> 2.0)
68
- rubysl-net-protocol (~> 2.0)
69
- rubysl-net-smtp (~> 2.0)
70
- rubysl-net-telnet (~> 2.0)
71
- rubysl-nkf (~> 2.0)
72
- rubysl-observer (~> 2.0)
73
- rubysl-open-uri (~> 2.0)
74
- rubysl-open3 (~> 2.0)
75
- rubysl-openssl (~> 2.0)
76
- rubysl-optparse (~> 2.0)
77
- rubysl-ostruct (~> 2.0)
78
- rubysl-pathname (~> 2.0)
79
- rubysl-prettyprint (~> 2.0)
80
- rubysl-prime (~> 2.0)
81
- rubysl-profile (~> 2.0)
82
- rubysl-profiler (~> 2.0)
83
- rubysl-pstore (~> 2.0)
84
- rubysl-pty (~> 2.0)
85
- rubysl-rational (~> 2.0)
86
- rubysl-resolv (~> 2.0)
87
- rubysl-rexml (~> 2.0)
88
- rubysl-rinda (~> 2.0)
89
- rubysl-rss (~> 2.0)
90
- rubysl-scanf (~> 2.0)
91
- rubysl-securerandom (~> 2.0)
92
- rubysl-set (~> 2.0)
93
- rubysl-shellwords (~> 2.0)
94
- rubysl-singleton (~> 2.0)
95
- rubysl-socket (~> 2.0)
96
- rubysl-stringio (~> 2.0)
97
- rubysl-strscan (~> 2.0)
98
- rubysl-sync (~> 2.0)
99
- rubysl-syslog (~> 2.0)
100
- rubysl-tempfile (~> 2.0)
101
- rubysl-thread (~> 2.0)
102
- rubysl-thwait (~> 2.0)
103
- rubysl-time (~> 2.0)
104
- rubysl-timeout (~> 2.0)
105
- rubysl-tmpdir (~> 2.0)
106
- rubysl-tsort (~> 2.0)
107
- rubysl-un (~> 2.0)
108
- rubysl-uri (~> 2.0)
109
- rubysl-weakref (~> 2.0)
110
- rubysl-webrick (~> 2.0)
111
- rubysl-xmlrpc (~> 2.0)
112
- rubysl-yaml (~> 2.0)
113
- rubysl-zlib (~> 2.0)
114
- rubysl-abbrev (2.0.4)
115
- rubysl-base64 (2.0.0)
116
- rubysl-benchmark (2.0.1)
117
- rubysl-bigdecimal (2.0.2)
118
- rubysl-cgi (2.0.1)
119
- rubysl-cgi-session (2.0.1)
120
- rubysl-cmath (2.0.0)
121
- rubysl-complex (2.0.0)
122
- rubysl-continuation (2.0.0)
123
- rubysl-coverage (2.0.3)
124
- rubysl-csv (2.0.2)
125
- rubysl-english (~> 2.0)
126
- rubysl-curses (2.0.1)
127
- rubysl-date (2.0.9)
128
- rubysl-delegate (2.0.1)
129
- rubysl-digest (2.0.3)
130
- rubysl-drb (2.0.1)
131
- rubysl-e2mmap (2.0.0)
132
- rubysl-english (2.0.0)
133
- rubysl-enumerator (2.0.0)
134
- rubysl-erb (2.0.2)
135
- rubysl-etc (2.0.3)
136
- ffi2-generators (~> 0.1)
137
- rubysl-expect (2.0.0)
138
- rubysl-fcntl (2.0.4)
139
- ffi2-generators (~> 0.1)
140
- rubysl-fiber (2.0.0)
141
- rubysl-fileutils (2.0.3)
142
- rubysl-find (2.0.1)
143
- rubysl-forwardable (2.0.1)
144
- rubysl-getoptlong (2.0.0)
145
- rubysl-gserver (2.0.0)
146
- rubysl-socket (~> 2.0)
147
- rubysl-thread (~> 2.0)
148
- rubysl-io-console (2.0.0)
149
- rubysl-io-nonblock (2.0.0)
150
- rubysl-io-wait (2.0.0)
151
- rubysl-ipaddr (2.0.0)
152
- rubysl-irb (2.1.1)
153
- rubysl-e2mmap (~> 2.0)
154
- rubysl-mathn (~> 2.0)
155
- rubysl-thread (~> 2.0)
156
- rubysl-logger (2.1.0)
157
- rubysl-mathn (2.0.0)
158
- rubysl-matrix (2.1.0)
159
- rubysl-e2mmap (~> 2.0)
160
- rubysl-mkmf (2.0.1)
161
- rubysl-fileutils (~> 2.0)
162
- rubysl-shellwords (~> 2.0)
163
- rubysl-monitor (2.0.0)
164
- rubysl-mutex_m (2.0.0)
165
- rubysl-net-ftp (2.0.1)
166
- rubysl-net-http (2.0.4)
167
- rubysl-cgi (~> 2.0)
168
- rubysl-erb (~> 2.0)
169
- rubysl-singleton (~> 2.0)
170
- rubysl-net-imap (2.0.1)
171
- rubysl-net-pop (2.0.1)
172
- rubysl-net-protocol (2.0.1)
173
- rubysl-net-smtp (2.0.1)
174
- rubysl-net-telnet (2.0.0)
175
- rubysl-nkf (2.0.1)
176
- rubysl-observer (2.0.0)
177
- rubysl-open-uri (2.0.0)
178
- rubysl-open3 (2.0.0)
179
- rubysl-openssl (2.2.1)
180
- rubysl-optparse (2.0.1)
181
- rubysl-shellwords (~> 2.0)
182
- rubysl-ostruct (2.0.4)
183
- rubysl-pathname (2.1.0)
184
- rubysl-prettyprint (2.0.3)
185
- rubysl-prime (2.0.1)
186
- rubysl-profile (2.0.0)
187
- rubysl-profiler (2.0.1)
188
- rubysl-pstore (2.0.0)
189
- rubysl-pty (2.0.3)
190
- rubysl-rational (2.0.1)
191
- rubysl-resolv (2.1.2)
192
- rubysl-rexml (2.0.4)
193
- rubysl-rinda (2.0.1)
194
- rubysl-rss (2.0.0)
195
- rubysl-scanf (2.0.0)
196
- rubysl-securerandom (2.0.0)
197
- rubysl-set (2.0.1)
198
- rubysl-shellwords (2.0.0)
199
- rubysl-singleton (2.0.0)
200
- rubysl-socket (2.0.1)
201
- rubysl-stringio (2.0.0)
202
- rubysl-strscan (2.0.0)
203
- rubysl-sync (2.0.0)
204
- rubysl-syslog (2.1.0)
205
- ffi2-generators (~> 0.1)
206
- rubysl-tempfile (2.0.1)
207
- rubysl-thread (2.0.3)
208
- rubysl-thwait (2.0.0)
209
- rubysl-time (2.0.3)
210
- rubysl-timeout (2.0.0)
211
- rubysl-tmpdir (2.0.1)
212
- rubysl-tsort (2.0.1)
213
- rubysl-un (2.0.0)
214
- rubysl-fileutils (~> 2.0)
215
- rubysl-optparse (~> 2.0)
216
- rubysl-uri (2.0.0)
217
- rubysl-weakref (2.0.0)
218
- rubysl-webrick (2.0.0)
219
- rubysl-xmlrpc (2.0.0)
220
- rubysl-yaml (2.1.0)
221
- rubysl-zlib (2.0.1)
222
- thor (0.19.1)
223
-
224
- PLATFORMS
225
- ruby
226
-
227
- DEPENDENCIES
228
- fakefs
229
- json
230
- librarianp!
231
- rake
232
- rspec (~> 2.14)
233
- rubysl
data/librarian.gemspec DELETED
@@ -1,44 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- # stub: librarianp 0.6.3 ruby lib
3
-
4
- Gem::Specification.new do |s|
5
- s.name = "librarianp"
6
- s.version = "0.6.3"
7
-
8
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
- s.require_paths = ["lib"]
10
- s.authors = ["Jay Feldblum", "Carlos Sanchez"]
11
- s.date = "2015-05-20"
12
- s.description = "A Framework for Bundlers, used by librarian-puppet."
13
- s.email = ["y_feldblum@yahoo.com", "carlos@apache.org"]
14
- s.files = [".gitignore", ".rspec", ".travis.yml", "CHANGELOG.md", "Gemfile", "Gemfile.lock", "LICENSE.txt", "README.md", "Rakefile", "VERSION", "lib/librarian.rb", "lib/librarian/action.rb", "lib/librarian/action/base.rb", "lib/librarian/action/clean.rb", "lib/librarian/action/ensure.rb", "lib/librarian/action/install.rb", "lib/librarian/action/persist_resolution_mixin.rb", "lib/librarian/action/resolve.rb", "lib/librarian/action/update.rb", "lib/librarian/algorithms.rb", "lib/librarian/cli.rb", "lib/librarian/cli/manifest_presenter.rb", "lib/librarian/config.rb", "lib/librarian/config/database.rb", "lib/librarian/config/file_source.rb", "lib/librarian/config/hash_source.rb", "lib/librarian/config/source.rb", "lib/librarian/dependency.rb", "lib/librarian/dsl.rb", "lib/librarian/dsl/receiver.rb", "lib/librarian/dsl/target.rb", "lib/librarian/environment.rb", "lib/librarian/environment/runtime_cache.rb", "lib/librarian/error.rb", "lib/librarian/helpers.rb", "lib/librarian/linter/source_linter.rb", "lib/librarian/lockfile.rb", "lib/librarian/lockfile/compiler.rb", "lib/librarian/lockfile/parser.rb", "lib/librarian/logger.rb", "lib/librarian/manifest.rb", "lib/librarian/manifest/pre_release_version.rb", "lib/librarian/manifest/version.rb", "lib/librarian/manifest_set.rb", "lib/librarian/mock.rb", "lib/librarian/mock/cli.rb", "lib/librarian/mock/dsl.rb", "lib/librarian/mock/environment.rb", "lib/librarian/mock/extension.rb", "lib/librarian/mock/source.rb", "lib/librarian/mock/source/mock.rb", "lib/librarian/mock/source/mock/registry.rb", "lib/librarian/mock/version.rb", "lib/librarian/posix.rb", "lib/librarian/resolution.rb", "lib/librarian/resolver.rb", "lib/librarian/resolver/implementation.rb", "lib/librarian/rspec/support/cli_macro.rb", "lib/librarian/source.rb", "lib/librarian/source/basic_api.rb", "lib/librarian/source/git.rb", "lib/librarian/source/git/repository.rb", "lib/librarian/source/local.rb", "lib/librarian/source/path.rb", "lib/librarian/spec.rb", "lib/librarian/spec_change_set.rb", "lib/librarian/specfile.rb", "lib/librarian/support/abstract_method.rb", "lib/librarian/ui.rb", "lib/librarian/version.rb", "librarian.gemspec", "spec/functional/cli_spec.rb", "spec/functional/posix_spec.rb", "spec/functional/source/git/repository_spec.rb", "spec/functional/source/git_spec.rb", "spec/support/fakefs.rb", "spec/support/method_patch_macro.rb", "spec/support/project_path_macro.rb", "spec/support/with_env_macro.rb", "spec/unit/action/base_spec.rb", "spec/unit/action/clean_spec.rb", "spec/unit/action/ensure_spec.rb", "spec/unit/action/install_spec.rb", "spec/unit/action/resolve_spec.rb", "spec/unit/algorithms_spec.rb", "spec/unit/config/database_spec.rb", "spec/unit/dependency/requirement_spec.rb", "spec/unit/dependency_spec.rb", "spec/unit/dsl_spec.rb", "spec/unit/environment/runtime_cache_spec.rb", "spec/unit/environment_spec.rb", "spec/unit/lockfile/parser_spec.rb", "spec/unit/lockfile_spec.rb", "spec/unit/manifest/version_spec.rb", "spec/unit/manifest_set_spec.rb", "spec/unit/manifest_spec.rb", "spec/unit/mock/environment_spec.rb", "spec/unit/mock/source/mock_spec.rb", "spec/unit/resolver_spec.rb", "spec/unit/source/git_spec.rb", "spec/unit/spec_change_set_spec.rb"]
15
- s.homepage = "https://github.com/carlossg/librarian"
16
- s.licenses = ["MIT"]
17
- s.rubygems_version = "2.4.6"
18
- s.summary = "A Framework for Bundlers."
19
- s.test_files = ["spec/functional/cli_spec.rb", "spec/functional/posix_spec.rb", "spec/functional/source/git/repository_spec.rb", "spec/functional/source/git_spec.rb", "spec/support/fakefs.rb", "spec/support/method_patch_macro.rb", "spec/support/project_path_macro.rb", "spec/support/with_env_macro.rb", "spec/unit/action/base_spec.rb", "spec/unit/action/clean_spec.rb", "spec/unit/action/ensure_spec.rb", "spec/unit/action/install_spec.rb", "spec/unit/action/resolve_spec.rb", "spec/unit/algorithms_spec.rb", "spec/unit/config/database_spec.rb", "spec/unit/dependency/requirement_spec.rb", "spec/unit/dependency_spec.rb", "spec/unit/dsl_spec.rb", "spec/unit/environment/runtime_cache_spec.rb", "spec/unit/environment_spec.rb", "spec/unit/lockfile/parser_spec.rb", "spec/unit/lockfile_spec.rb", "spec/unit/manifest/version_spec.rb", "spec/unit/manifest_set_spec.rb", "spec/unit/manifest_spec.rb", "spec/unit/mock/environment_spec.rb", "spec/unit/mock/source/mock_spec.rb", "spec/unit/resolver_spec.rb", "spec/unit/source/git_spec.rb", "spec/unit/spec_change_set_spec.rb"]
20
-
21
- if s.respond_to? :specification_version then
22
- s.specification_version = 4
23
-
24
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
25
- s.add_runtime_dependency(%q<thor>, ["~> 0.15"])
26
- s.add_development_dependency(%q<rake>, [">= 0"])
27
- s.add_development_dependency(%q<rspec>, ["~> 2.14"])
28
- s.add_development_dependency(%q<json>, [">= 0"])
29
- s.add_development_dependency(%q<fakefs>, ["~> 0.4.2"])
30
- else
31
- s.add_dependency(%q<thor>, ["~> 0.15"])
32
- s.add_dependency(%q<rake>, [">= 0"])
33
- s.add_dependency(%q<rspec>, ["~> 2.14"])
34
- s.add_dependency(%q<json>, [">= 0"])
35
- s.add_dependency(%q<fakefs>, ["~> 0.4.2"])
36
- end
37
- else
38
- s.add_dependency(%q<thor>, ["~> 0.15"])
39
- s.add_dependency(%q<rake>, [">= 0"])
40
- s.add_dependency(%q<rspec>, ["~> 2.14"])
41
- s.add_dependency(%q<json>, [">= 0"])
42
- s.add_dependency(%q<fakefs>, ["~> 0.4.2"])
43
- end
44
- end