What are `files`, `executables`, `test_files`, and `require_paths` in gemspec file?
Asked Answered
S

1

14

I am not clear on what certain specifications in the .gemspec file are doing. Specifically,

spec.files         = `git ls-files -z`.split("\x0")
spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
spec.require_paths = ["lib"]

Can someone explain how these relate to the functionality of a Ruby Gem and why they are necessary?

Spillman answered 7/8, 2014 at 19:12 Comment(0)
C
14

executables:

Executables included in the gem. For example, the rake gem has rake as an executable. These files must be executable Ruby files.

files:

Files included in the gem. These are the files that will be included in your gem when it is built.

require_paths:

Contains an Array of directories and files which should be added to the $LOAD_PATH on gem activation. By default it is ["lib"].

test_files

Test files included in the gem.

Corinecorinna answered 7/8, 2014 at 19:34 Comment(1)
In ruby 2.2.0 there are no more test_files.Caril

© 2022 - 2024 — McMap. All rights reserved.