gemsmith 18.7.0 → 18.8.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 +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
|