-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathlibrary_tree.gemspec
More file actions
127 lines (117 loc) · 5.31 KB
/
library_tree.gemspec
File metadata and controls
127 lines (117 loc) · 5.31 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# frozen_string_literal: true
gem_version =
if RUBY_VERSION >= "3.1" # rubocop:disable Gemspec/RubyVersionGlobalsUsage
# Loading Version into an anonymous module allows version.rb to get code coverage from SimpleCov!
# See: https://github.com/simplecov-ruby/simplecov/issues/557#issuecomment-2630782358
# See: https://github.com/panorama-ed/memo_wise/pull/397
Module.new.tap { |mod| Kernel.load("#{__dir__}/lib/library_tree/version.rb", mod) }::LibraryTree::Version::VERSION
else
# NOTE: Use __FILE__ or __dir__ until removal of Ruby 1.x support
# __dir__ introduced in Ruby 1.9.1
# lib = File.expand_path("../lib", __FILE__)
lib = File.expand_path("lib", __dir__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require "library_tree/version"
LibraryTree::Version::VERSION
end
Gem::Specification.new do |spec|
spec.name = "library_tree"
spec.version = gem_version
spec.authors = ["Peter H. Boling"]
spec.email = ["floss@galtzo.com"]
# Linux distros often package gems and securely certify them independent
# of the official RubyGem certification process. Allowed via ENV["SKIP_GEM_SIGNING"]
# Ref: https://gitlab.com/oauth-xx/version_gem/-/issues/3
# Hence, only enable signing if `SKIP_GEM_SIGNING` is not set in ENV.
# See CONTRIBUTING.md
unless ENV.include?("SKIP_GEM_SIGNING")
user_cert = "certs/#{ENV.fetch("GEM_CERT_USER", ENV["USER"])}.pem"
cert_file_path = File.join(__dir__, user_cert)
cert_chain = cert_file_path.split(",")
cert_chain.select! { |fp| File.exist?(fp) }
if cert_file_path && cert_chain.any?
spec.cert_chain = cert_chain
if $PROGRAM_NAME.end_with?("gem") && ARGV[0] == "build"
spec.signing_key = File.join(Gem.user_home, ".ssh", "gem-private_key.pem")
end
end
end
spec.summary = "Six-degrees of (Kevin Bacon's?) Module"
spec.description = "Builds a tree of module inclusion of a target module into other modules"
spec.homepage = "https://github.com/galtzo-floss/library_tree"
spec.license = "MIT"
spec.required_ruby_version = ">= 1.9.2"
spec.metadata["homepage_uri"] = "https://#{spec.name.tr("_", "-")}.galtzo.com/"
spec.metadata["source_code_uri"] = "#{spec.homepage}/tree/v#{spec.version}"
spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/v#{spec.version}/CHANGELOG.md"
spec.metadata["bug_tracker_uri"] = "#{spec.homepage}/issues"
spec.metadata["documentation_uri"] = "https://www.rubydoc.info/gems/#{spec.name}/#{spec.version}"
spec.metadata["funding_uri"] = "https://github.com/sponsors/pboling"
spec.metadata["wiki_uri"] = "#{spec.homepage}/wiki"
spec.metadata["news_uri"] = "https://www.railsbling.com/tags/#{spec.name}"
spec.metadata["discord_uri"] = "https://discord.gg/3qme4XHNKN"
spec.metadata["rubygems_mfa_required"] = "true"
# Specify which files are part of the released package.
spec.files = Dir[
# Splats (alphabetical)
"lib/**/*.rb",
]
# Automatically included with gem package, no need to list again in files.
spec.extra_rdoc_files = Dir[
# Files (alphabetical)
"CHANGELOG.md",
"CITATION.cff",
"CODE_OF_CONDUCT.md",
"CONTRIBUTING.md",
"LICENSE.txt",
"README.md",
"REEK",
"RUBOCOP.md",
"SECURITY.md",
]
spec.rdoc_options += [
"--title",
"#{spec.name} - #{spec.summary}",
"--main",
"CHANGELOG.md",
"CITATION.cff",
"CODE_OF_CONDUCT.md",
"CONTRIBUTING.md",
"LICENSE.txt",
"README.md",
"REEK",
"RUBOCOP.md",
"SECURITY.md",
"--line-numbers",
"--inline-source",
"--quiet",
]
spec.require_paths = ["lib"]
spec.bindir = "exe"
# files listed are relative paths from bindir above.
spec.executables = []
# NOTE: It is preferable to list development dependencies in the gemspec due to increased
# visibility and discoverability on RubyGems.org.
# However, development dependencies in gemspec will install on
# all versions of Ruby that will run in CI.
# This gem, and its runtime dependencies, will install on Ruby down to 1.9.2.
# This gem, and its development dependencies, will install on Ruby down to 2.3.x.
# This is because in CI easy installation of Ruby, via setup-ruby, is for >= 2.3.
# Thus, dev dependencies in gemspec must have
#
# required_ruby_version ">= 2.3" (or lower)
#
# Development dependencies that require strictly newer Ruby versions should be in a "gemfile",
# and preferably a modular one (see gemfiles/modular/*.gemfile).
# Release Tasks
spec.add_development_dependency("stone_checksums", "~> 1.0") # ruby >= 2.2.0
### Testing
spec.add_development_dependency("appraisal2", "~> 3.0") # ruby >= 1.8.7
spec.add_development_dependency("rspec", "~> 3.13") # ruby >= 0
spec.add_development_dependency("rspec-block_is_expected", "~> 1.0") # ruby >= 1.8.7
spec.add_development_dependency("rspec_junit_formatter", "~> 0.6") # ruby >= 2.3.0, for GitLab Test Result Parsing
spec.add_development_dependency("rspec-stubbed_env", "~> 1.0") # ruby >= 2.3.0 (helper for stubbing ENV in specs)
spec.add_development_dependency("silent_stream", "~> 1.0", ">= 1.0.11") # ruby >= 2.3.0, for output capture
# Development tasks
spec.add_development_dependency("rake", "~> 13.0") # ruby >= 2.2
end