2019-06-11 22:24:35 +00:00
lib = File . expand_path ( " ../lib " , __FILE__ )
2015-06-07 17:50:15 +00:00
$LOAD_PATH . unshift ( lib ) unless $LOAD_PATH . include? ( lib )
2019-06-11 22:24:35 +00:00
require " inspec/version "
2015-06-07 17:50:15 +00:00
Gem :: Specification . new do | spec |
2019-06-11 22:24:35 +00:00
spec . name = " inspec "
2015-10-26 03:04:18 +00:00
spec . version = Inspec :: VERSION
2019-06-11 22:24:35 +00:00
spec . authors = [ " Chef InSpec Team " ]
spec . email = [ " inspec@chef.io " ]
spec . summary = " Infrastructure and compliance testing. "
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. "
spec . homepage = " https://github.com/inspec/inspec "
spec . license = " Apache-2.0 "
2015-06-07 17:50:15 +00:00
2018-12-12 16:23:19 +00:00
# the gemfile and gemspec are necessary for appbundler so don't remove it
spec . files = %w{ Gemfile inspec.gemspec README.md LICENSE } + Dir . glob (
2019-06-11 22:24:35 +00:00
" {bin,lib,etc}/**/* " , File :: FNM_DOTMATCH
2015-11-12 23:47:01 +00:00
) . reject { | f | File . directory? ( f ) }
2015-06-07 17:50:15 +00:00
spec . test_files = spec . files . grep ( %r{ ^(test|spec|features)/ } )
2019-07-09 00:20:30 +00:00
. reject { | f | File . directory? ( f ) || f =~ %r{ lib/plugins/.*/test/ } }
2019-06-11 22:24:35 +00:00
spec . require_paths = [ " lib " ]
2015-06-07 17:50:15 +00:00
2019-06-11 22:24:35 +00:00
spec . required_ruby_version = " >= 2.4 "
2017-03-27 16:59:56 +00:00
2019-07-31 20:36:48 +00:00
spec . add_dependency " train " , " ~> 3.0 " # Inspec 4 must have train 2+; 3+ if we include train-winrm
2019-04-01 19:10:16 +00:00
# Train plugins we ship with InSpec
2019-06-11 22:24:35 +00:00
spec . add_dependency " train-habitat " , " ~> 0.1 "
spec . add_dependency " train-aws " , " ~> 0.1 "
2019-07-31 20:36:48 +00:00
spec . add_dependency " train-winrm " , " ~> 0.2 " # Requires train 3+
2019-04-01 19:10:16 +00:00
# Implementation dependencies
2019-06-11 22:24:35 +00:00
spec . add_dependency " license-acceptance " , " >= 0.2.13 " , " < 2.0 "
2019-10-08 19:51:24 +00:00
spec . add_dependency " chef-core " , " ~> 0.0 "
2019-06-11 22:24:35 +00:00
spec . add_dependency " thor " , " ~> 0.20 "
spec . add_dependency " json-schema " , " ~> 2.8 "
spec . add_dependency " method_source " , " ~> 0.8 "
spec . add_dependency " rubyzip " , " ~> 1.2 " , " >= 1.2.2 "
2019-10-09 02:05:15 +00:00
spec . add_dependency " rspec " , [ " ~> 3.0 " , " < 3.9 " ] # TODO: Loosen - See https://github.com/inspec/inspec/issues/4575
2019-06-11 22:24:35 +00:00
spec . add_dependency " rspec-its " , " ~> 1.2 "
spec . add_dependency " pry " , " ~> 0 "
spec . add_dependency " hashie " , " ~> 3.4 "
spec . add_dependency " mixlib-log "
spec . add_dependency " sslshake " , " ~> 1.2 "
spec . add_dependency " parallel " , " ~> 1.9 "
spec . add_dependency " faraday " , " >=0.9.0 "
spec . add_dependency " tty-table " , " ~> 0.10 "
spec . add_dependency " tty-prompt " , " ~> 0.17 "
2018-05-16 19:20:25 +00:00
# Used for Azure profile until integrated into train
2019-06-11 22:24:35 +00:00
spec . add_dependency " faraday_middleware " , " ~> 0.12.2 "
spec . add_dependency " tomlrb " , " ~> 1.2 "
spec . add_dependency " addressable " , " ~> 2.4 "
spec . add_dependency " parslet " , " ~> 1.5 "
spec . add_dependency " semverse "
spec . add_dependency " htmlentities "
spec . add_dependency " multipart-post "
spec . add_dependency " term-ansicolor "
2015-06-07 17:50:15 +00:00
end