mirror of
https://github.com/ruby/ruby.git
synced 2025-08-24 05:25:34 +02:00

- Redirect `git ls-files` without shelling out.
- When building by `gem`, `__FILE__` is the path name given in the
command line, or the gemspec file name in the current directory. In
that case, comparison it and expanded path never equal. Compare
listed file names with the base name of `__FILE__` instead.
f505e3f7cb
30 lines
1.2 KiB
Ruby
30 lines
1.2 KiB
Ruby
Gem::Specification.new do |spec|
|
|
spec.name = "tmpdir"
|
|
spec.version = "0.2.0"
|
|
spec.authors = ["Yukihiro Matsumoto"]
|
|
spec.email = ["matz@ruby-lang.org"]
|
|
|
|
spec.summary = %q{Extends the Dir class to manage the OS temporary file path.}
|
|
spec.description = %q{Extends the Dir class to manage the OS temporary file path.}
|
|
spec.homepage = "https://github.com/ruby/tmpdir"
|
|
spec.licenses = ["Ruby", "BSD-2-Clause"]
|
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
|
|
|
spec.metadata["homepage_uri"] = spec.homepage
|
|
spec.metadata["source_code_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.
|
|
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/ test/ spec/ features/ .git Gemfile])
|
|
end
|
|
end
|
|
spec.bindir = "exe"
|
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
spec.require_paths = ["lib"]
|
|
|
|
spec.add_dependency "fileutils"
|
|
end
|