gemsmith 18.7.0 → 18.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +14 -34
- data/gemsmith.gemspec +3 -3
- data/lib/gemsmith/templates/%project_name%/%project_name%.gemspec.erb +1 -1
- data.tar.gz.sig +0 -0
- metadata +7 -7
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e30d95770327e819a040434df61830d146c3962cbeee75e3395def23f4840834
|
4
|
+
data.tar.gz: 1fd09fe6424c37674afb171196cbf831ddaefec869d9fa056ece39442d64e0f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 07a7621edb6757cf3c129ced88000a8e104c5d9c10527d679d5f8b272a0f609c4c63d771786393cb280a96ecc930a25eed68964f0223ccee9b24b1ed6eb30f7f
|
7
|
+
data.tar.gz: 415a9631ed109c71fc02c8e71def5afe9d66ca6d83773fddcb6121eb6286dfc30671932e3ce8717ef18b48832b047d89a497e4523f789010bd44a45cdedc877b
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -25,15 +25,6 @@ toc::[]
|
|
25
25
|
. link:https://www.ruby-lang.org[Ruby].
|
26
26
|
. link:https://rubygems.org[RubyGems].
|
27
27
|
|
28
|
-
== Upgrade
|
29
|
-
|
30
|
-
If upgrading from 17.0.0 to 18.0.0, you'll want to be aware of the following changes:
|
31
|
-
|
32
|
-
* The `--dead_end` build option has been removed.
|
33
|
-
* The Milestoner configuration has been updated to support ASCII Doc format by default and the
|
34
|
-
ability to sign tags has been removed (this happens dynamically based on your Git configuration
|
35
|
-
which gives you more flexibility).
|
36
|
-
|
37
28
|
== Setup
|
38
29
|
|
39
30
|
To install, run:
|
@@ -93,7 +84,7 @@ BUILD OPTIONS:
|
|
93
84
|
--[no-]cli Add command line interface. Default: false.
|
94
85
|
....
|
95
86
|
|
96
|
-
|
87
|
+
==== Build
|
97
88
|
|
98
89
|
The core functionality of this gem centers around the `--build` command and associated flags. The
|
99
90
|
build options allow you to further customize the kind of gem you want to build. Most build options
|
@@ -125,7 +116,7 @@ you supports the following options:
|
|
125
116
|
|
126
117
|
From here you can add whatever you wish to make an awesome CLI gem for others to enjoy.
|
127
118
|
|
128
|
-
|
119
|
+
==== Install
|
129
120
|
|
130
121
|
After you've designed, implemented, and built your gem, you'll want to test it out within your local
|
131
122
|
environment by installing it. You can do this by running:
|
@@ -143,7 +134,7 @@ Gemsmith can be used to install any gem, in fact. Doesn't matter if the gem was
|
|
143
134
|
Bundler, or some other tool. As long as your gem has a `*.gemspec` file, Gemsmith will be able to
|
144
135
|
install it.
|
145
136
|
|
146
|
-
|
137
|
+
==== Publish
|
147
138
|
|
148
139
|
Once you've built your gem; installed it locally; and thoroughly tested it, you'll want to publish
|
149
140
|
your gem so anyone in the world can make use of it. You can do this by running the following:
|
@@ -169,7 +160,7 @@ As with installing a gem, Gemsmith can be used to publish existing gems which we
|
|
169
160
|
Gemsmith too. As long as your gem has a `*.gemspec` file with a valid version, Gemsmith will be able
|
170
161
|
to publish it.
|
171
162
|
|
172
|
-
|
163
|
+
==== Edit
|
173
164
|
|
174
165
|
Gemsmith can be used to edit existing gems on your local system. You can do this by running:
|
175
166
|
|
@@ -184,7 +175,7 @@ have set in your `EDITOR` environment variable).
|
|
184
175
|
|
185
176
|
Editing a local gem is a great way to learn from others or quickly debug issues.
|
186
177
|
|
187
|
-
|
178
|
+
==== View
|
188
179
|
|
189
180
|
Gemsmith can be used to view existing gem documentation. You can do this by running:
|
190
181
|
|
@@ -256,9 +247,9 @@ gemsmith --install
|
|
256
247
|
gemsmith --publish
|
257
248
|
----
|
258
249
|
|
259
|
-
|
250
|
+
=== Security
|
260
251
|
|
261
|
-
|
252
|
+
==== Git Signing Key
|
262
253
|
|
263
254
|
To securely sign your Git tags, install and configure link:https://www.gnupg.org[GPG]:
|
264
255
|
|
@@ -294,7 +285,7 @@ Add your key to your global Git configuration in the `[user]` section. Example:
|
|
294
285
|
Now, when publishing your gems with Gemsmith (i.e. `bundle exec rake publish`), signing of your Git
|
295
286
|
tag will happen automatically.
|
296
287
|
|
297
|
-
|
288
|
+
==== Gem Certificates
|
298
289
|
|
299
290
|
To create a certificate for your gems, run the following:
|
300
291
|
|
@@ -322,7 +313,7 @@ end
|
|
322
313
|
To learn more about gem certificates, read about RubyGems
|
323
314
|
link:https://guides.rubygems.org/security[Security].
|
324
315
|
|
325
|
-
|
316
|
+
=== Private Gem Servers
|
326
317
|
|
327
318
|
By default, the following command will publicly publish your gem to
|
328
319
|
link:https://rubygems.org[RubyGems]:
|
@@ -336,7 +327,7 @@ You can change this behavior by adding metadata to your gemspec that will allow
|
|
336
327
|
your gem to an alternate/private gem server instead. This can be done by updating your gem
|
337
328
|
specification and RubyGems credentials.
|
338
329
|
|
339
|
-
|
330
|
+
==== Gem Specification Metadata
|
340
331
|
|
341
332
|
Add the following gemspec metadata to privately publish new versions of your gem:
|
342
333
|
|
@@ -357,7 +348,7 @@ Use of the `allowed_push_host` key provides two important capabilities:
|
|
357
348
|
* Defines the lookup key in your `$HOME/.gem/credentials` file which contains your private
|
358
349
|
credentials for authentication to your private server (more on this below).
|
359
350
|
|
360
|
-
|
351
|
+
==== Gem Credentials
|
361
352
|
|
362
353
|
With your gem specification metadata established, you are ready to publish your gem to a public or
|
363
354
|
private server. If this is your first time publishing a gem and no gem credentials have been
|
@@ -411,7 +402,7 @@ Lastly, should you need to delete a credential (due to a bad login/password for
|
|
411
402
|
open the `$HOME/.gem/credentials` in your default editor and remove the line(s) you don't need. Upon
|
412
403
|
next publish of your gem, you'll be prompted for the missing credentials.
|
413
404
|
|
414
|
-
|
405
|
+
==== Bundler Configuration
|
415
406
|
|
416
407
|
So far, I've shown how to privately _publish_ a gem but now we need to teach Bundler how to install
|
417
408
|
the gem as dependency within your upstream project. For demonstration purposes, I'm going to assume
|
@@ -454,7 +445,7 @@ Resolving dependencies...Fetching gem metadata from https://rubygems.org/.....
|
|
454
445
|
|
455
446
|
If so, you're all set!
|
456
447
|
|
457
|
-
|
448
|
+
==== GitHub Actions/Packages Automation
|
458
449
|
|
459
450
|
Earlier, I hinted at using GitHub Packages but what if you could automate the entire publishing
|
460
451
|
process? Well, good news, you can by using GitHub Actions to publish your packages. Here's the YAML
|
@@ -510,24 +501,13 @@ The above will ensure the following:
|
|
510
501
|
This entire workflow is explained in my
|
511
502
|
link:https://www.alchemists.io/talks/ruby_git_hub_packages[talk] on this exact subject too.
|
512
503
|
|
513
|
-
== Promotion
|
514
|
-
|
515
|
-
Once your gem is released, let the world know about your accomplishment by posting an update to
|
516
|
-
these sites:
|
517
|
-
|
518
|
-
* link:https://rubyflow.com[RubyFlow]
|
519
|
-
* link:https://ruby.libhunt.com[Ruby Library Hunt]
|
520
|
-
* link:https://awesome-ruby.com[Awesome Ruby]
|
521
|
-
* link:https://www.ruby-toolbox.com[Ruby Toolbox]
|
522
|
-
* link:https://www.ruby-lang.org/en/community[Ruby Community]
|
523
|
-
|
524
504
|
== Development
|
525
505
|
|
526
506
|
To contribute, run:
|
527
507
|
|
528
508
|
[source,bash]
|
529
509
|
----
|
530
|
-
git clone https://github.com/bkuhlmann/gemsmith
|
510
|
+
git clone https://github.com/bkuhlmann/gemsmith
|
531
511
|
cd gemsmith
|
532
512
|
bin/setup
|
533
513
|
----
|
data/gemsmith.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "gemsmith"
|
5
|
-
spec.version = "18.
|
5
|
+
spec.version = "18.8.0"
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
8
8
|
spec.homepage = "https://www.alchemists.io/projects/gemsmith"
|
@@ -24,12 +24,12 @@ Gem::Specification.new do |spec|
|
|
24
24
|
|
25
25
|
spec.required_ruby_version = "~> 3.1"
|
26
26
|
spec.add_dependency "cogger", "~> 0.2"
|
27
|
-
spec.add_dependency "dry-container", "~> 0.
|
27
|
+
spec.add_dependency "dry-container", "~> 0.11"
|
28
28
|
spec.add_dependency "dry-monads", "~> 1.4"
|
29
29
|
spec.add_dependency "infusible", "~> 0.0"
|
30
30
|
spec.add_dependency "milestoner", "~> 14.2"
|
31
31
|
spec.add_dependency "refinements", "~> 9.6"
|
32
|
-
spec.add_dependency "rubysmith", "~> 3.
|
32
|
+
spec.add_dependency "rubysmith", "~> 3.7"
|
33
33
|
spec.add_dependency "runcom", "~> 8.5"
|
34
34
|
spec.add_dependency "spek", "~> 0.5"
|
35
35
|
spec.add_dependency "versionaire", "~> 10.5"
|
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
|
|
36
36
|
|
37
37
|
spec.required_ruby_version = "~> <%= RUBY_VERSION[/\d+\.\d+/] %>"
|
38
38
|
<% if configuration.build_cli %>
|
39
|
-
spec.add_dependency "dry-container", "~> 0.
|
39
|
+
spec.add_dependency "dry-container", "~> 0.11"
|
40
40
|
<% end %>
|
41
41
|
<% if configuration.build_cli %>
|
42
42
|
spec.add_dependency "infusible", "~> 0.0"
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemsmith
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 18.
|
4
|
+
version: 18.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -28,7 +28,7 @@ cert_chain:
|
|
28
28
|
CxDe2+VuChj4I1nvIHdu+E6XoEVlanUPKmSg6nddhkKn2gC45Kyzh6FZqnzH/CRp
|
29
29
|
RFE=
|
30
30
|
-----END CERTIFICATE-----
|
31
|
-
date: 2022-09-
|
31
|
+
date: 2022-09-16 00:00:00.000000000 Z
|
32
32
|
dependencies:
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: cogger
|
@@ -50,14 +50,14 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0.
|
53
|
+
version: '0.11'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '0.
|
60
|
+
version: '0.11'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: dry-monads
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,14 +120,14 @@ dependencies:
|
|
120
120
|
requirements:
|
121
121
|
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '3.
|
123
|
+
version: '3.7'
|
124
124
|
type: :runtime
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: '3.
|
130
|
+
version: '3.7'
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
132
|
name: runcom
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -280,7 +280,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
280
280
|
- !ruby/object:Gem::Version
|
281
281
|
version: '0'
|
282
282
|
requirements: []
|
283
|
-
rubygems_version: 3.3.
|
283
|
+
rubygems_version: 3.3.22
|
284
284
|
signing_key:
|
285
285
|
specification_version: 4
|
286
286
|
summary: A command line interface for smithing Ruby gems.
|
metadata.gz.sig
CHANGED
Binary file
|