librarianp 1.1.1 → 1.2.0

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
2
  SHA256:
3
- metadata.gz: 9c9763e69ec0059b3de54d6be45d61a1c1d8d1da005e7292152c8d87236e6da1
4
- data.tar.gz: 8d3ffe4bcccec279c81f3028573aa3b96428c4a98ac09719cf5a5f7317bed661
3
+ metadata.gz: 10abe861195c981a1e682be34390259ac57ab9157fe828967ade322ac44a986c
4
+ data.tar.gz: eb74e53e3e2fd5d44a326960854d70689e390e8a0e09b117e675a677e31048fa
5
5
  SHA512:
6
- metadata.gz: d678620dd06362ff48aae226af3ae5cdac3ea2543d111b06c95e972f8d578dc7a100d4efba45eeb23f3f3dd41883979e80c8f33e86e193ed1a111dc3692d3b62
7
- data.tar.gz: 20a5aafef57724f5e9a11638cebec6d5e0de4225826ed510e13413521064defa87c39884c4e739d33653f35c5b19158fe87b836438c4fd90f48d725891a94f0d
6
+ metadata.gz: 8998e712113c72db152eba519fddf406a74ed32415f58aac5f27f806a42f1b944d3c11fcccb8c514a855dcfed79850203f365ed6263cf3099a35ba36088b93ab
7
+ data.tar.gz: 14bf719654a5c1461bd1e46fe69c272b54c83bf39df468aee580a20da95f4cdbc4166bb8bc0ab3f5516302c0cd7788f90cb92103e9dc096a93fd77f18747f6fa
@@ -0,0 +1,17 @@
1
+ version: 2
2
+ updates:
3
+ # raise PRs for gem updates
4
+ - package-ecosystem: bundler
5
+ directory: "/"
6
+ schedule:
7
+ interval: daily
8
+ time: "13:00"
9
+ open-pull-requests-limit: 10
10
+
11
+ # Maintain dependencies for GitHub Actions
12
+ - package-ecosystem: github-actions
13
+ directory: "/"
14
+ schedule:
15
+ interval: daily
16
+ time: "13:00"
17
+ open-pull-requests-limit: 10
@@ -0,0 +1,41 @@
1
+ ---
2
+ # https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes
3
+
4
+ changelog:
5
+ exclude:
6
+ labels:
7
+ - duplicate
8
+ - invalid
9
+ - modulesync
10
+ - question
11
+ - skip-changelog
12
+ - wont-fix
13
+ - wontfix
14
+ - github_actions
15
+
16
+ categories:
17
+ - title: Breaking Changes 🛠
18
+ labels:
19
+ - backwards-incompatible
20
+
21
+ - title: New Features 🎉
22
+ labels:
23
+ - enhancement
24
+
25
+ - title: Bug Fixes 🐛
26
+ labels:
27
+ - bug
28
+ - bugfix
29
+
30
+ - title: Documentation Updates 📚
31
+ labels:
32
+ - documentation
33
+ - docs
34
+
35
+ - title: Dependency Updates ⬆️
36
+ labels:
37
+ - dependencies
38
+
39
+ - title: Other Changes
40
+ labels:
41
+ - "*"
@@ -1,32 +1,106 @@
1
- name: Release
1
+ ---
2
+ name: Gem Release
2
3
 
3
4
  on:
4
5
  push:
5
6
  tags:
6
7
  - '*'
7
8
 
9
+ permissions: {}
10
+
8
11
  jobs:
9
- release:
10
- runs-on: ubuntu-latest
12
+ build-release:
13
+ # Prevent releases from forked repositories
11
14
  if: github.repository_owner == 'voxpupuli'
15
+ name: Build the gem
16
+ runs-on: ubuntu-24.04
12
17
  steps:
13
- - uses: actions/checkout@v2
14
- - name: Install Ruby 3.0
18
+ - uses: actions/checkout@v6
19
+ - name: Install Ruby
15
20
  uses: ruby/setup-ruby@v1
16
21
  with:
17
- ruby-version: '3.0'
18
- env:
19
- BUNDLE_WITHOUT: release
22
+ ruby-version: 'ruby'
20
23
  - name: Build gem
21
- run: gem build *.gemspec
24
+ shell: bash
25
+ run: gem build --verbose *.gemspec
26
+ - name: Upload gem to GitHub cache
27
+ uses: actions/upload-artifact@v6
28
+ with:
29
+ name: gem-artifact
30
+ path: '*.gem'
31
+ retention-days: 1
32
+ compression-level: 0
33
+
34
+ create-github-release:
35
+ needs: build-release
36
+ name: Create GitHub release
37
+ runs-on: ubuntu-24.04
38
+ permissions:
39
+ contents: write # clone repo and create release
40
+ steps:
41
+ - name: Download gem from GitHub cache
42
+ uses: actions/download-artifact@v7
43
+ with:
44
+ name: gem-artifact
45
+ - name: Create Release
46
+ shell: bash
47
+ env:
48
+ GH_TOKEN: ${{ github.token }}
49
+ run: gh release create --repo ${{ github.repository }} ${{ github.ref_name }} --generate-notes *.gem
50
+
51
+ release-to-github:
52
+ needs: build-release
53
+ name: Release to GitHub
54
+ runs-on: ubuntu-24.04
55
+ permissions:
56
+ packages: write # publish to rubygems.pkg.github.com
57
+ steps:
58
+ - name: Download gem from GitHub cache
59
+ uses: actions/download-artifact@v7
60
+ with:
61
+ name: gem-artifact
62
+ - name: Publish gem to GitHub packages
63
+ run: gem push --host https://rubygems.pkg.github.com/${{ github.repository_owner }} *.gem
64
+ env:
65
+ GEM_HOST_API_KEY: ${{ secrets.GITHUB_TOKEN }}
66
+
67
+ release-to-rubygems:
68
+ needs: build-release
69
+ name: Release gem to rubygems.org
70
+ runs-on: ubuntu-24.04
71
+ environment: release # recommended by rubygems.org
72
+ permissions:
73
+ id-token: write # rubygems.org authentication
74
+ steps:
75
+ - name: Download gem from GitHub cache
76
+ uses: actions/download-artifact@v7
77
+ with:
78
+ name: gem-artifact
79
+ - uses: rubygems/configure-rubygems-credentials@v1.0.0
22
80
  - name: Publish gem to rubygems.org
81
+ shell: bash
23
82
  run: gem push *.gem
24
- env:
25
- GEM_HOST_API_KEY: '${{ secrets.RUBYGEMS_AUTH_TOKEN }}'
26
- - name: Setup GitHub packages access
83
+
84
+ release-verification:
85
+ name: Check that all releases are done
86
+ runs-on: ubuntu-24.04
87
+ permissions:
88
+ contents: read # minimal permissions that we have to grant
89
+ needs:
90
+ - create-github-release
91
+ - release-to-github
92
+ - release-to-rubygems
93
+ steps:
94
+ - name: Download gem from GitHub cache
95
+ uses: actions/download-artifact@v7
96
+ with:
97
+ name: gem-artifact
98
+ - name: Install Ruby
99
+ uses: ruby/setup-ruby@v1
100
+ with:
101
+ ruby-version: 'ruby'
102
+ - name: Wait for release to propagate
103
+ shell: bash
27
104
  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
105
+ gem install rubygems-await
106
+ gem await *.gem
@@ -1,12 +1,18 @@
1
+ ---
1
2
  name: Test
2
3
 
3
4
  on:
4
- - pull_request
5
- - push
5
+ pull_request: {}
6
+ push:
7
+ branches:
8
+ - master
9
+
10
+ permissions:
11
+ contents: read
6
12
 
7
13
  jobs:
8
14
  test:
9
- runs-on: ubuntu-latest
15
+ runs-on: ubuntu-24.04
10
16
  strategy:
11
17
  fail-fast: false
12
18
  matrix:
@@ -16,6 +22,11 @@ jobs:
16
22
  - "2.6"
17
23
  - "2.7"
18
24
  - "3.0"
25
+ - "3.1"
26
+ - "3.2"
27
+ - "3.3"
28
+ - "3.4"
29
+ - "4.0"
19
30
  steps:
20
31
  - uses: actions/checkout@v2
21
32
  - name: Install Ruby ${{ matrix.ruby }}
@@ -27,3 +38,15 @@ jobs:
27
38
  run: bundle exec rake spec
28
39
  - name: Verify gem builds
29
40
  run: gem build *.gemspec
41
+
42
+ tests:
43
+ if: always()
44
+ needs:
45
+ - test
46
+ runs-on: ubuntu-24.04
47
+ name: Test suite
48
+ steps:
49
+ - name: Decide whether the needed jobs succeeded or failed
50
+ uses: re-actors/alls-green@release/v1
51
+ with:
52
+ jobs: ${{ toJSON(needs) }}
data/.gitignore CHANGED
@@ -3,4 +3,5 @@
3
3
  pkg/*
4
4
  tmp
5
5
  vendor
6
+ .vendor
6
7
  Gemfile.lock
data/CHANGELOG.md CHANGED
@@ -1,6 +1,29 @@
1
- # Change Log
1
+ # Changelog
2
2
 
3
- ## 1.1.1
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [v1.2.0](https://github.com/voxpupuli/librarian/tree/v1.2.0) (2026-01-05)
6
+
7
+ [Full Changelog](https://github.com/voxpupuli/librarian/compare/v1.1.2...v1.2.0)
8
+
9
+ **Implemented enhancements:**
10
+
11
+ - Add Ruby3.1-4.0 support [\#24](https://github.com/voxpupuli/librarian/pull/24) ([bastelfreak](https://github.com/bastelfreak))
12
+
13
+ **Merged pull requests:**
14
+
15
+ - CI: Add dependabot configuration [\#25](https://github.com/voxpupuli/librarian/pull/25) ([bastelfreak](https://github.com/bastelfreak))
16
+ - Add Vox Pupuli CI defaults [\#23](https://github.com/voxpupuli/librarian/pull/23) ([bastelfreak](https://github.com/bastelfreak))
17
+
18
+ ## [v1.1.2](https://github.com/voxpupuli/librarian/tree/v1.1.2) (2022-08-02)
19
+
20
+ [Full Changelog](https://github.com/voxpupuli/librarian/compare/v1.1.1...v1.1.2)
21
+
22
+ **Implemented enhancements:**
23
+
24
+ - Do not suppress Git console output when debugging [\#20](https://github.com/voxpupuli/librarian/pull/20) ([hlaf](https://github.com/hlaf))
25
+
26
+ ## [v1.1.1](https://github.com/voxpupuli/librarian/tree/v1.1.1) (2021-08-27)
4
27
 
5
28
  * Fix one more Ruby 3 compatibility issue
6
29
  * Search for the Rakefile relatively to pwd
@@ -315,3 +338,6 @@ This release focuses on refactoring some of the internals. There are no function
315
338
  ## 0.0.1
316
339
 
317
340
  * Initial release.
341
+
342
+
343
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
data/Gemfile CHANGED
@@ -2,3 +2,7 @@ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in librarian.gemspec
4
4
  gemspec
5
+
6
+ group :release, optional: true do
7
+ gem 'github_changelog_generator', '>= 1.16.4', :require => false if RUBY_VERSION >= '2.5.0'
8
+ end
data/HISTORY.md ADDED
@@ -0,0 +1,315 @@
1
+ ## [v1.1.1](https://github.com/voxpupuli/librarian/tree/v1.1.1) (2021-08-27)
2
+
3
+ * Fix one more Ruby 3 compatibility issue
4
+ * Search for the Rakefile relatively to pwd
5
+
6
+ ## 1.1.0
7
+
8
+ * Support Ruby 3
9
+
10
+ ## 1.0.0
11
+
12
+ * Require Ruby 2.4+
13
+ * Update dependencies to the latest versions
14
+ * Be specific about exposing git environment variables
15
+ * Allow more spaces in version range
16
+
17
+ ## 0.6.4
18
+
19
+ * Add support for r10k Puppetfile's opts
20
+ * Fix deprecation warnings
21
+ * Fix compatibility with git 2.14.0
22
+
23
+ ## 0.6.3
24
+
25
+ * Prevent losing specfile path when metadata doesn't exist
26
+
27
+ ## 0.6.2
28
+
29
+ * Fix bad variable name
30
+
31
+ ## 0.6.1
32
+
33
+ * Fix dependencies not being fetched
34
+
35
+ ## 0.6.0
36
+
37
+ * Merge duplicated dependencies in spec
38
+ * Always fetch the commit SHA from rev-parse
39
+
40
+ ## 0.5.0
41
+
42
+ * Allow defining exclusions in spec file
43
+ * Allow forward slash in lock file
44
+
45
+ ## 0.4.0
46
+
47
+ * Resolve iteratively instead of recursively
48
+ * Fail if there are duplicated dependencies in spec file
49
+ * Merge duplicated dependencies and warn the user
50
+
51
+ ## 0.3.0
52
+
53
+ * Allow customizing default specfile and receiver downstream
54
+
55
+ ## 0.2.0
56
+
57
+ * Remove highline gem not actually needed
58
+ * Handle version ranges and 1.x type strings
59
+ * Handle prerelease versions and semver
60
+ * Add a logger warn method
61
+ * Add a better error message if module doesn't exist while resolving dependencies
62
+
63
+ ## 0.1.2
64
+
65
+ * \#153. Mark the license in the gemspec.
66
+
67
+ * \#158, \#160, \#159. Handle cyclic dependencies for adapters which opt in to
68
+ cyclic dependencies.
69
+
70
+ * \#154. Cache git repository sources which are identical but for their :path
71
+ attributes (where to look inside the repository for the manifest). Thanks
72
+ @bcatlin.
73
+
74
+ * \#161. Fix JRuby exception in posix run! method. Thanks @justenwalker.
75
+
76
+ * \#163. Don't fetch git repositories multiple times per run. Thanks @njam.
77
+
78
+ ## 0.1.1
79
+
80
+ * \#147. Handle the case where HOME is not in the environment. Thanks @bradleyd.
81
+
82
+ * \#140. Properly handle the failure to clone a git repository. Avoid wiping out
83
+ the host project's changes.
84
+
85
+ * \#127. Support Rubinius and JRuby, including when shelling out to system
86
+ commands.
87
+
88
+ * \#144. Allow running the test suite with a simple `rake`. Thanks @nickhammond.
89
+
90
+ ## 0.1.0
91
+
92
+ * Extract the chef adapter to its own gem.
93
+
94
+ ## 0.0.26
95
+
96
+ * \#112. Prevent the git source being confused in certain cases by colorized
97
+ output from git. HT: @ericpp.
98
+
99
+ * \#115, \#116. Accommodate cookbook archives generated by `git archive`.
100
+ HT: @taqtiqa-mark.
101
+
102
+ * \#119. Support NO_PROXY, a modifier on HTTP_PROXY and friends. HT: @databus23.
103
+
104
+ * \#121. A github pseudosource. HT: @alno.
105
+
106
+ * \#122. Follow http redirect responses in the chef site source. HT: @Fleurer.
107
+
108
+ * Improve the resolver performance by detecting conflicts earlier and
109
+ backtracking more quickly. This will help avoid certain cases of long
110
+ resolutions caused by conflicts; the conflicts will still be there, but will
111
+ be detected more quickly and the resolution terminated more quickly. This
112
+ changes the resolution algorithm, and new resolutions may differ from older
113
+ resolutions.
114
+
115
+ ## 0.0.25
116
+
117
+ * \#71. Fix an error, given certain locale settings, with reading cookbook
118
+ metadata files.
119
+
120
+ * \#89. Fix an error when encountering manifests and dependencies with names of
121
+ a single letter, such as `"R"`.
122
+
123
+ * \#92, \#99. HTTP proxy support via the `HTTP_PROXY` environment variable. Also
124
+ supports `HTTP_PROXY_USER` and `HTTP_PROXY_PASS` environment variables. Thanks
125
+ @tknerr.
126
+
127
+ * \#97. Enforce that the `:ref` option in the `:git` source may only be given a
128
+ string.
129
+
130
+ * \#98. Fix unpacking chef site-sourced packages where the directory in the
131
+ tarball does not match the cookbook name.
132
+
133
+ ## 0.0.24
134
+
135
+ * \#15. A remembered configuration system.
136
+
137
+ * \#16. Configure, and remember configuration for, chef install paths.
138
+
139
+ * \#38. Configure, and remember configuration for, stripping out `.git`
140
+ directories from git-sources chef dependencies.
141
+
142
+ * \#76. Support git annotated tags.
143
+
144
+ * \#80. Ignore directories in the `PATH` named `git` when looking for the `git`
145
+ bin. Thanks @avit.
146
+
147
+ * \#85. Provide a helpful message when running the `show` command without a
148
+ lockfile present.
149
+
150
+ ## 0.0.23
151
+
152
+ * \#41. Build gems with a built gemspec.
153
+
154
+ * \#67. Cache remote objects at the latest possible moments, and only when they
155
+ are needed.
156
+
157
+ * \#68. Fix unpacking chef site-sourced packages on Windows by pivoting from a
158
+ Librarian-managed scratch space, rather than pivoting from Windows' temp
159
+ directory. There were unexplained problems with using the Windows temp
160
+ directory in certain cases, possibly related to the temp directory and the
161
+ Librarian cache directory being on different volumes.
162
+
163
+ * \#69. Fix invoking Librarian with git-sourced dependencies from git hooks by
164
+ unsetting `GIT_DIR` around shelling out to git.
165
+
166
+ * Print general environment information when running with `--verbose`.
167
+
168
+ ## 0.0.22
169
+
170
+ * Fix the `outdated` CLI command.
171
+
172
+ ## 0.0.21
173
+
174
+ * \#64. Sources now raise when given unrecognized options in the specfile.
175
+
176
+ * A new `show` CLI command.
177
+
178
+ * Changed the `clean` CLI command no longer to delete the lockfile.
179
+
180
+ * Simplify the architecture of `Librarian::Manifest` vis-a-vis sources. It is no
181
+ longer a base class for adapters to inherit. Now, sources expose a small
182
+ interface, which `Librarian::Manifest` can call, for delay-loading attributes.
183
+
184
+ * The git source now resolves the `git` binary before `chdir`ing.
185
+
186
+ * Test on Rubinius.
187
+
188
+ ## 0.0.20
189
+
190
+ * A command to print outdated dependencies.
191
+
192
+ ## 0.0.19
193
+
194
+ * Fix breakage on 1.8.
195
+
196
+ ## 0.0.18
197
+
198
+ * \#57. Include existing manifests' dependencies in resolution.
199
+
200
+ * Permit the update action even with a changed specfile.
201
+
202
+ ## 0.0.17
203
+
204
+ * Use a pure-Ruby implementation of tar/gz. Helps with Windows support, since
205
+ Windows boxes are less likely than *NIX boxes to have the `tar` executable.
206
+
207
+ * Fix an issue where the chef site source considers uncached manifests to be
208
+ cached, and skips caching them, causing the install action to fail.
209
+
210
+ * Fail fast if the resolver produces an inconsistent resolution. It is a known
211
+ issue that the resolver will sometimes (deterministically, not randomly)
212
+ produce an inconsistent resolution when performing an update action (#57).
213
+ Start debugging this by failing fast at this point and spitting out gobs of
214
+ debug-level log details.
215
+
216
+ ## 0.0.16
217
+
218
+ * Recache site-sourced dependency metadata per each run.
219
+
220
+ * \#46. Always install.
221
+
222
+ * \#53. Abstract versions & requirements from rubygems.
223
+
224
+ * Own the install path. Recreate it on each install.
225
+ WARNING: If you have your own content in the install path, it will be deleted without mercy.
226
+
227
+ ## 0.0.15
228
+
229
+ * Rewrite the README.
230
+
231
+ * \#44, \#49. Better updating of cached git sources without using local merges.
232
+
233
+ ## 0.0.14
234
+
235
+ * \#39 Fixes a regression induced by using `git reset --hard SHA`.
236
+
237
+ ## 0.0.13
238
+
239
+ * \#36 Fixes an issue where, if a dependency has a git source (the upstream), and the upstream is updated,
240
+ then attempting to update that dependency in the local resolution would not update that dependency so
241
+ long as that git source were cached (@databus23).
242
+
243
+ * More immediate detection of, and better error messages for, cases of blank dependency or manifest names
244
+ or cases of names that are otherwise insensible, such as names that are untrimmed.
245
+
246
+ ## 0.0.12
247
+
248
+ * Fixes an issue where, if a dependency has a git source with a ref, re-resolving may fail.
249
+
250
+ ## 0.0.11
251
+
252
+ * Fix a regression where the cli command "version" failed.
253
+
254
+ ## 0.0.10
255
+
256
+ This release focuses on refactoring some of the internals. There are no functional changes.
257
+
258
+ ## 0.0.9
259
+
260
+ * \#11 Fixes a problem where, if the repo is in a path where a component has a space, attempting to resolve a
261
+ site-sourced dependency fails.
262
+
263
+ ## 0.0.8
264
+
265
+ * A `version` task.
266
+
267
+ * A change log.
268
+
269
+ * \#10 Fixes the problem with bouncing the lockfile when updating, when using a git source with the default ref.
270
+
271
+ ## 0.0.7
272
+
273
+ * \#8 Add highline temporarily as a runtime dependency of `librarian` (@fnichol).
274
+ When the project is split into `librarian` and `librarian-chef`, the `chef` runtime dependency will
275
+ be moved to `librarian-chef`. If the project is further split into a knife plugin, the dependency
276
+ will be moved there.
277
+
278
+ ## 0.0.6
279
+
280
+ * \#7 Show a better error message when a cookbook is missing the required metadata file.
281
+
282
+ * Miscellaneous bugfixes.
283
+
284
+ ## 0.0.5
285
+
286
+ * \#4 An `init` task for `librarian-chef`.
287
+ This task creates a nearly-blank `Cheffile` with just the default Opscode Community Site source.
288
+
289
+ * Automatically create the `cookbooks` directory, if it's missing, when running the `install` task.
290
+
291
+ * \#3 Add `chef` temporarily as a runtime dependency of `librarian` (@fnichol).
292
+ When the project is split into `librarian` and `librarian-chef`, the `chef` runtime dependency will
293
+ be moved to `librarian-chef`.
294
+
295
+ ## 0.0.4
296
+
297
+ * A simple knife integration.
298
+ This integration allows you to specify a `librarian-chef`-managed tempdir as a `cookbook_path`.
299
+ This is useful to force knife only to upload the exact cookbooks that `librarian-chef` knows
300
+ about, rather than whatever happens to be found in the `cookbooks` directory.
301
+
302
+ ## 0.0.3
303
+
304
+ * Miscellaneous bugfixes.
305
+
306
+ ## 0.0.2
307
+
308
+ * An optional `:path` attribute for `:git` sources.
309
+ This allows you to specify exactly where within a git repository a given cookbook is to be found.
310
+
311
+ * A full example of a Cheffile and its usage in the readme.
312
+
313
+ ## 0.0.1
314
+
315
+ * Initial release.
data/README.md CHANGED
@@ -1,5 +1,10 @@
1
- Librarian [![Build Status](https://secure.travis-ci.org/voxpupuli/librarian.png)](https://travis-ci.org/voxpupuli/librarian)
2
- =========
1
+ # Librarian
2
+
3
+ [![License](https://img.shields.io/github/license/voxpupuli/librarian.svg)](https://github.com/voxpupuli/librarian/blob/master/LICENSE.txt)
4
+ [![Test](https://github.com/voxpupuli/librarian/actions/workflows/test.yml/badge.svg)](https://github.com/voxpupuli/librarian/actions/workflows/test.yml)
5
+ [![Release](https://github.com/voxpupuli/librarian/actions/workflows/release.yml/badge.svg)](https://github.com/voxpupuli/librarian/actions/workflows/release.yml)
6
+ [![RubyGem Version](https://img.shields.io/gem/v/librarian.svg)](https://rubygems.org/gems/librarian)
7
+ [![RubyGem Downloads](https://img.shields.io/gem/dt/librarian.svg)](https://rubygems.org/gems/librarian)
3
8
 
4
9
  This is a forked version published as `librarianp` with improvements in order to support `librarian-puppet`.
5
10
 
data/Rakefile CHANGED
@@ -26,3 +26,15 @@ Bundler::GemHelper.install_tasks
26
26
  RSpec::Core::RakeTask.new('spec')
27
27
  task :default => :spec
28
28
 
29
+ begin
30
+ require 'github_changelog_generator/task'
31
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
32
+ version = File.read(File.expand_path('VERSION', __dir__)).strip
33
+ config.future_release = "v#{version}" if version =~ /^\d+\.\d+.\d+$/
34
+ config.header = "# Changelog\n\nAll notable changes to this project will be documented in this file."
35
+ config.exclude_labels = %w{duplicate question invalid wontfix wont-fix skip-changelog}
36
+ config.user = 'voxpupuli'
37
+ config.project = 'librarian'
38
+ end
39
+ rescue LoadError
40
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.1
1
+ 1.2.0
@@ -44,24 +44,28 @@ module Librarian
44
44
  end
45
45
 
46
46
  def clone!(repository_url)
47
- command = %W(clone #{repository_url} . --quiet)
47
+ command = %W(clone #{repository_url} .)
48
+ command << '--quiet' unless environment.ui.debug?
48
49
  run!(command, :chdir => true)
49
50
  end
50
51
 
51
52
  def checkout!(reference, options ={ })
52
- command = %W(checkout #{reference} --quiet)
53
+ command = %W(checkout #{reference})
54
+ command << '--quiet' unless environment.ui.debug?
53
55
  command << "--force" if options[:force]
54
56
  run!(command, :chdir => true)
55
57
  end
56
58
 
57
59
  def fetch!(remote, options = { })
58
- command = %W(fetch #{remote} --quiet)
60
+ command = %W(fetch #{remote})
61
+ command << '--quiet' unless environment.ui.debug?
59
62
  command << "--tags" if options[:tags]
60
63
  run!(command, :chdir => true)
61
64
  end
62
65
 
63
66
  def reset_hard!
64
- command = %W(reset --hard --quiet)
67
+ command = %W(reset --hard)
68
+ command << '--quiet' unless environment.ui.debug?
65
69
  run!(command, :chdir => true)
66
70
  end
67
71
 
@@ -107,12 +111,14 @@ module Librarian
107
111
  reference = "#{remote}/#{reference}"
108
112
  end
109
113
 
110
- command = %W(rev-parse #{reference}^{commit} --quiet)
114
+ command = %W(rev-parse #{reference}^{commit})
115
+ command << '--quiet' unless environment.ui.debug?
111
116
  run!(command, :chdir => true).strip
112
117
  end
113
118
 
114
119
  def current_commit_hash
115
- command = %W(rev-parse HEAD --quiet)
120
+ command = %W(rev-parse HEAD)
121
+ command << '--quiet' unless environment.ui.debug?
116
122
  run!(command, :chdir => true).strip!
117
123
  end
118
124
 
data/lib/librarian/ui.rb CHANGED
@@ -56,6 +56,10 @@ module Librarian
56
56
  @debug = true
57
57
  end
58
58
 
59
+ def debug?
60
+ @debug
61
+ end
62
+
59
63
  def debug_line_numbers!
60
64
  @debug_line_numbers = true
61
65
  end
data/librarianp.gemspec CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
19
 
20
- gem.required_ruby_version = '>= 2.4', '< 4'
20
+ gem.required_ruby_version = '>= 2.4', '< 5'
21
21
 
22
22
  gem.add_dependency "thor", "~> 1.0"
23
23
 
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: librarianp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jay Feldblum
8
8
  - Carlos Sanchez
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2021-08-27 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: thor
@@ -89,12 +88,15 @@ executables: []
89
88
  extensions: []
90
89
  extra_rdoc_files: []
91
90
  files:
91
+ - ".github/dependabot.yml"
92
+ - ".github/release.yml"
92
93
  - ".github/workflows/release.yml"
93
94
  - ".github/workflows/test.yml"
94
95
  - ".gitignore"
95
96
  - ".rspec"
96
97
  - CHANGELOG.md
97
98
  - Gemfile
99
+ - HISTORY.md
98
100
  - LICENSE.txt
99
101
  - README.md
100
102
  - Rakefile
@@ -194,7 +196,6 @@ homepage: https://github.com/voxpupuli/librarian
194
196
  licenses:
195
197
  - MIT
196
198
  metadata: {}
197
- post_install_message:
198
199
  rdoc_options: []
199
200
  require_paths:
200
201
  - lib
@@ -205,15 +206,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
205
206
  version: '2.4'
206
207
  - - "<"
207
208
  - !ruby/object:Gem::Version
208
- version: '4'
209
+ version: '5'
209
210
  required_rubygems_version: !ruby/object:Gem::Requirement
210
211
  requirements:
211
212
  - - ">="
212
213
  - !ruby/object:Gem::Version
213
214
  version: '0'
214
215
  requirements: []
215
- rubygems_version: 3.2.22
216
- signing_key:
216
+ rubygems_version: 4.0.3
217
217
  specification_version: 4
218
218
  summary: A Framework for Bundlers.
219
219
  test_files: