-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcli.gemspec
56 lines (46 loc) · 2.05 KB
/
cli.gemspec
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
# frozen_string_literal: true
require_relative "lib/cli/version"
require 'yaml'
Gem::Specification.new do |spec|
spec.name = "cli"
spec.version = Cli::VERSION
spec.authors = ["Paul Scarrone"]
spec.email = ["[email protected]"]
spec.summary = "Write a short summary, because RubyGems requires one."
spec.description = "Write a longer description or delete this line."
spec.homepage = "Put your gem's website or public repo URL here."
spec.license = "MIT"
spec.required_ruby_version = ">= 2.6.0"
spec.metadata["allowed_push_host"] = "TODO: Set to your gem server 'https://example.com'"
spec.homepage = "https://example.com"
spec.metadata["homepage_uri"] = spec.homepage
spec.metadata["source_code_uri"] = spec.homepage
spec.metadata["changelog_uri"] = spec.homepage
# Specify which files should be added to the gem when it is released.
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
spec.files = Dir.chdir(__dir__) do
`git ls-files -z`.split("\x0").reject do |f|
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|circleci)|appveyor)})
end
end
spec.bindir = "exe"
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"]
spec.add_dependency "zeitwerk", "~> 2.6.6"
spec.add_dependency "thor", "~> 1.2.1"
spec.add_dependency "sqlite3", "~> 1.6"
spec.add_dependency "cli_toolkit", "~> 0.1.0"
# load yaml config from the home directory .cli/config.yml and extract an array of commands
config_dir = File.join(Dir.home, '.cli')
config_file = File.join(config_dir, 'config.yml')
if File.exist?(config_file)
config_commands = YAML.load_file(config_file)['commands']
config_commands.map do |command_options|
spec.add_runtime_dependency command_options['name']
end
end
# Uncomment to register a new dependency of your gem
# spec.add_dependency "example-gem", "~> 1.0"
# For more information and examples about making a new gem, check out our
# guide at: https://bundler.io/guides/creating_gem.html
end