summaryrefslogtreecommitdiffhomepage
path: root/dispatch-tools-interface.gemspec
blob: 570e91fd61aa647666ef8401b3d9fb4146f9ffeb (plain)
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
# frozen_string_literal: true

require_relative "lib/dispatch/tools/interface/version"

Gem::Specification.new do |spec|
  spec.name = "dispatch-tools-interface"
  spec.version = Dispatch::Tools::Interface::VERSION
  spec.authors = [ "Adam Malczewski" ]
  spec.email = [ "[email protected]" ]

  spec.summary = "Structured interface for defining, validating, and executing tool definitions with JSON Schema."
  spec.description = "A Ruby gem that provides a structured interface for defining, validating, and executing tool definitions. Tools are defined with JSON Schema parameter validation and organized in a registry for lookup and execution."
  spec.homepage = "https://github.com/realtradam/dispatch-tools-interface"
  spec.license = "MIT"
  spec.required_ruby_version = ">= 3.2.0"
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
  spec.metadata["homepage_uri"] = spec.homepage
  spec.metadata["source_code_uri"] = "https://github.com/realtradam/dispatch-tools-interface"

  # 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.
  gemspec = File.basename(__FILE__)
  spec.files = IO.popen(%w[git ls-files -z], chdir: __dir__, err: IO::NULL) do |ls|
    ls.readlines("\x0", chomp: true).reject do |f|
      (f == gemspec) ||
        f.start_with?(*%w[bin/ Gemfile .gitignore .rspec spec/ .rubocop.yml])
    end
  end
  spec.bindir = "exe"
  spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
  spec.require_paths = [ "lib" ]

  spec.add_dependency "json_schemer", "~> 2.0"

  # For more information and examples about making a new gem, check out our
  # guide at: https://bundler.io/guides/creating_gem.html
end