inspec/inspec-core.gemspec
Nikita Mathur f8f55440eb
Upgrade declared minimum ruby version in gemspec from 2.4.0 to 3.0.3 (#6790) (#7151)
* Upgrade ruby version in gempsec file



* Update to support ruby >= 3.0.3



---------

Signed-off-by: Vasu1105 <vasundhara.jagdale@progress.com>
Co-authored-by: Vasundhara Jagdale <vasundhara.jagdale@chef.io>
2024-08-26 14:02:46 +05:30

59 lines
3.6 KiB
Ruby

lib = File.expand_path("lib", __dir__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require "inspec/version"
Gem::Specification.new do |spec|
spec.name = "inspec-core"
spec.version = Inspec::VERSION
spec.authors = ["Chef InSpec Team"]
spec.email = ["inspec@chef.io"]
spec.summary = "Infrastructure and compliance testing. Core library."
spec.description = "InSpec provides a framework for creating end-to-end infrastructure tests. You can use it for integration or even compliance testing. Create fully portable test profiles and use them in your workflow to ensure stability and security. Integrate InSpec in your change lifecycle for local testing, CI/CD, and deployment verification. This has local support only. See the `inspec` gem for full support."
spec.homepage = "https://github.com/inspec/inspec"
spec.license = "Apache-2.0"
spec.require_paths = ["lib"]
# We want to support ruby 3.0 as Chef is using ruby to support AIX and we want to make sure InSpec works with it. (Ref: https://github.com/chef/chef/pull/13207)
# TODO: Once we have Chef working fully with ruby 3.1 we can drop ruby 3.0
spec.required_ruby_version = ">= 3.0.3"
# the gemfile and gemspec are necessary for appbundler so don't remove it
spec.files =
Dir.glob("{{lib,etc}/**/*,LICENSE,Gemfile,inspec-core.gemspec}")
.grep_v(%r{(?<!inspec-init/templates/profiles/)(aws|azure|gcp|alicloud)})
.grep_v(%r{lib/plugins/.*/test/})
.reject { |f| File.directory?(f) }
# Implementation dependencies
spec.add_dependency "chef-telemetry", "~> 1.0", ">= 1.0.8" # 1.0.8+ removes the http dep
spec.add_dependency "license-acceptance", ">= 0.2.13", "< 3.0"
# TODO: We should remove the thor pinning in next upcoming releases currently it's breaking our unit test in cli_args_test for aliases due to
# recent changes made in thor library REF: https://github.com/rails/thor/releases/tag/v1.3.0 & https://github.com/rails/thor/pull/800
spec.add_dependency "thor", ">= 0.20", "< 1.3.0"
spec.add_dependency "method_source", ">= 0.8", "< 2.0"
spec.add_dependency "rubyzip", ">= 1.2.2", "< 3.0"
spec.add_dependency "rspec", ">= 3.9", "<= 3.12"
spec.add_dependency "rspec-its", "~> 1.2"
spec.add_dependency "pry", "~> 0.13"
spec.add_dependency "hashie", ">= 3.4", "< 6.0"
spec.add_dependency "mixlib-log", "~> 3.0"
spec.add_dependency "sslshake", "~> 1.2"
spec.add_dependency "parallel", "~> 1.9"
spec.add_dependency "faraday", ">= 1", "< 3"
spec.add_dependency "faraday-follow_redirects", "~> 0.3"
spec.add_dependency "tty-table", "~> 0.10"
spec.add_dependency "tty-prompt", "~> 0.17"
spec.add_dependency "tomlrb", ">= 1.2", "< 2.1"
spec.add_dependency "addressable", "~> 2.4"
spec.add_dependency "parslet", ">= 1.5", "< 3.0" # Pinned < 2.0, see #5389
spec.add_dependency "semverse", "~> 3.0"
spec.add_dependency "multipart-post", "~> 2.0"
# cookstyle support for inspec check
# This was initially included in 'inspec.gemspec' to keep 'chef-client' lightweight.
# However, it has been moved to 'inspec-core.gemspec' due to a dependency on the 'ast' gem,
# which was causing a LoadError ('cannot load such file -- ast') for users/applications using 'inspec-core'.
spec.add_dependency "cookstyle"
spec.add_dependency "train-core", "~> 3.10"
end