librarianp 0.6.3 → 1.1.1

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.
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