mirror of
https://github.com/samsonjs/wordexp.git
synced 2026-04-06 10:45:50 +00:00
Compare commits
No commits in common. "main" and "v0.2.0" have entirely different histories.
16 changed files with 185 additions and 110 deletions
82
.circleci/config.yml
Normal file
82
.circleci/config.yml
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
version: 2.1
|
||||||
|
executors:
|
||||||
|
ruby:
|
||||||
|
parameters:
|
||||||
|
version:
|
||||||
|
description: "Ruby version number"
|
||||||
|
default: "3.2.2"
|
||||||
|
type: string
|
||||||
|
docker:
|
||||||
|
- image: cimg/ruby:<< parameters.version >>
|
||||||
|
|
||||||
|
commands:
|
||||||
|
bundle_install:
|
||||||
|
description: Install Ruby dependencies with Bundler
|
||||||
|
parameters:
|
||||||
|
version:
|
||||||
|
description: "Ruby version number"
|
||||||
|
default: "3.2.2"
|
||||||
|
type: string
|
||||||
|
steps:
|
||||||
|
- restore_cache:
|
||||||
|
keys:
|
||||||
|
- bundle-v1-{{ arch }}-<< parameters.version >>
|
||||||
|
- run:
|
||||||
|
name: Install Ruby Dependencies
|
||||||
|
command: |
|
||||||
|
gem install bundler -v 2.4.20 --conservative --no-document
|
||||||
|
bundle config --local path vendor/bundle
|
||||||
|
bundle check || (bundle install --jobs=4 --retry=3 && bundle clean)
|
||||||
|
- save_cache:
|
||||||
|
paths:
|
||||||
|
- ./vendor/bundle
|
||||||
|
key: bundle-v1-{{ arch }}-<< parameters.version >>-{{ checksum "Gemfile.lock" }}
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
rubocop:
|
||||||
|
executor: ruby
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- bundle_install
|
||||||
|
- run: bundle exec rubocop
|
||||||
|
|
||||||
|
test:
|
||||||
|
parameters:
|
||||||
|
version:
|
||||||
|
description: "Ruby version number"
|
||||||
|
default: "3.2.2"
|
||||||
|
type: string
|
||||||
|
executor:
|
||||||
|
name: ruby
|
||||||
|
version: << parameters.version >>
|
||||||
|
steps:
|
||||||
|
- checkout
|
||||||
|
- bundle_install:
|
||||||
|
version: << parameters.version >>
|
||||||
|
- run: bundle exec rake test TESTOPTS="--ci-dir=./reports"
|
||||||
|
- store_test_results:
|
||||||
|
path: ./reports
|
||||||
|
|
||||||
|
workflows:
|
||||||
|
version: 2
|
||||||
|
commit-workflow:
|
||||||
|
jobs:
|
||||||
|
- rubocop
|
||||||
|
- test:
|
||||||
|
matrix:
|
||||||
|
parameters:
|
||||||
|
version: ["3.0.6", "3.1.4", "3.2.2"]
|
||||||
|
cron-workflow:
|
||||||
|
jobs:
|
||||||
|
- rubocop
|
||||||
|
- test:
|
||||||
|
matrix:
|
||||||
|
parameters:
|
||||||
|
version: ["3.0.6", "3.1.4", "3.2.2"]
|
||||||
|
triggers:
|
||||||
|
- schedule:
|
||||||
|
cron: "0 13 * * 6"
|
||||||
|
filters:
|
||||||
|
branches:
|
||||||
|
only:
|
||||||
|
- main
|
||||||
53
.github/workflows/ci.yml
vendored
53
.github/workflows/ci.yml
vendored
|
|
@ -1,53 +0,0 @@
|
||||||
name: CI
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
rubocop:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v6
|
|
||||||
- uses: ruby/setup-ruby@v1
|
|
||||||
with:
|
|
||||||
ruby-version: 4.0.0
|
|
||||||
- name: Cache Ruby gems
|
|
||||||
uses: actions/cache@v5
|
|
||||||
with:
|
|
||||||
path: vendor/bundle
|
|
||||||
key: ${{ runner.os }}-bundle-4.0.0-${{ hashFiles('Gemfile.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-bundle-4.0.0-
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
bundle config set --local path vendor/bundle
|
|
||||||
bundle install --jobs 8 --retry 3
|
|
||||||
- name: Run RuboCop
|
|
||||||
run: bundle exec rubocop
|
|
||||||
|
|
||||||
test:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
ruby-version: ["3.2.9", "3.3.10", "3.4.8", "4.0.0"]
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v6
|
|
||||||
- uses: ruby/setup-ruby@v1
|
|
||||||
with:
|
|
||||||
ruby-version: ${{ matrix.ruby-version }}
|
|
||||||
- name: Cache Ruby gems
|
|
||||||
uses: actions/cache@v5
|
|
||||||
with:
|
|
||||||
path: vendor/bundle
|
|
||||||
key: ${{ runner.os }}-bundle-${{ matrix.ruby-version }}-${{ hashFiles('Gemfile.lock') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-bundle-${{ matrix.ruby-version }}-
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
bundle config set --local path vendor/bundle
|
|
||||||
bundle install --jobs 8 --retry 3
|
|
||||||
- name: Run tests
|
|
||||||
run: bundle exec rake test
|
|
||||||
8
.github/workflows/codeql-analysis.yml
vendored
8
.github/workflows/codeql-analysis.yml
vendored
|
|
@ -38,11 +38,11 @@ jobs:
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v4
|
uses: github/codeql-action/init@v2
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
|
|
@ -53,7 +53,7 @@ jobs:
|
||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@v4
|
uses: github/codeql-action/autobuild@v2
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://git.io/JvXDl
|
||||||
|
|
@ -67,4 +67,4 @@ jobs:
|
||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v4
|
uses: github/codeql-action/analyze@v2
|
||||||
|
|
|
||||||
2
.github/workflows/push.yml
vendored
2
.github/workflows/push.yml
vendored
|
|
@ -9,6 +9,6 @@ jobs:
|
||||||
update_release_draft:
|
update_release_draft:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: release-drafter/release-drafter@v7
|
- uses: release-drafter/release-drafter@v5
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
|
||||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -11,4 +11,3 @@ ext/**/Makefile
|
||||||
ext/**/*.o
|
ext/**/*.o
|
||||||
**/wordexp*.bundle
|
**/wordexp*.bundle
|
||||||
*.gem
|
*.gem
|
||||||
Gemfile.lock
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,3 @@
|
||||||
plugins:
|
|
||||||
- rubocop-minitest
|
|
||||||
- rubocop-rake
|
|
||||||
|
|
||||||
AllCops:
|
AllCops:
|
||||||
NewCops: enable
|
NewCops: enable
|
||||||
TargetRubyVersion: 3.0
|
TargetRubyVersion: 3.0
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
4.0.1
|
3.2.2
|
||||||
|
|
|
||||||
10
CHANGELOG.md
10
CHANGELOG.md
|
|
@ -4,16 +4,6 @@
|
||||||
|
|
||||||
[gh]: https://github.com/samsonjs/wordexp/releases
|
[gh]: https://github.com/samsonjs/wordexp/releases
|
||||||
|
|
||||||
# 0.2.2
|
|
||||||
# 2026-01-02
|
|
||||||
|
|
||||||
- Build the native extension under `wordexp/` so `require "wordexp/wordexp_ext"` resolves correctly
|
|
||||||
|
|
||||||
# 0.2.1
|
|
||||||
# 2026-01-02
|
|
||||||
|
|
||||||
- Ship source-only gem artifacts to ensure the native extension is built locally
|
|
||||||
|
|
||||||
# 0.2.0
|
# 0.2.0
|
||||||
# 2023-10-05
|
# 2023-10-05
|
||||||
|
|
||||||
|
|
|
||||||
14
Gemfile
14
Gemfile
|
|
@ -1,13 +1,13 @@
|
||||||
source 'https://rubygems.org'
|
source 'https://rubygems.org'
|
||||||
gemspec
|
gemspec
|
||||||
|
|
||||||
gem 'minitest', '~> 6.0'
|
gem 'minitest', '~> 5.20'
|
||||||
gem 'minitest-ci', '~> 3.4'
|
gem 'minitest-ci', '~> 3.4'
|
||||||
gem 'minitest-reporters', '~> 1.6'
|
gem 'minitest-reporters', '~> 1.6'
|
||||||
gem 'rake', '~> 13.3'
|
gem 'rake', '~> 13.0'
|
||||||
gem 'rake-compiler', '~> 1.2'
|
gem 'rake-compiler', '~> 1.2'
|
||||||
gem 'rubocop', '~> 1.81'
|
gem 'rubocop', '1.56.4'
|
||||||
gem 'rubocop-minitest', '~> 0.38'
|
gem 'rubocop-minitest', '0.32.2'
|
||||||
gem 'rubocop-packaging', '~> 0.5'
|
gem 'rubocop-packaging', '0.5.2'
|
||||||
gem 'rubocop-performance', '~> 1.26'
|
gem 'rubocop-performance', '1.19.1'
|
||||||
gem 'rubocop-rake', '~> 0.6'
|
gem 'rubocop-rake', '0.6.0'
|
||||||
|
|
|
||||||
80
Gemfile.lock
Normal file
80
Gemfile.lock
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
PATH
|
||||||
|
remote: .
|
||||||
|
specs:
|
||||||
|
wordexp (0.2.0)
|
||||||
|
|
||||||
|
GEM
|
||||||
|
remote: https://rubygems.org/
|
||||||
|
specs:
|
||||||
|
ansi (1.5.0)
|
||||||
|
ast (2.4.2)
|
||||||
|
base64 (0.1.1)
|
||||||
|
builder (3.2.4)
|
||||||
|
json (2.6.3)
|
||||||
|
language_server-protocol (3.17.0.3)
|
||||||
|
minitest (5.20.0)
|
||||||
|
minitest-ci (3.4.0)
|
||||||
|
minitest (>= 5.0.6)
|
||||||
|
minitest-reporters (1.6.1)
|
||||||
|
ansi
|
||||||
|
builder
|
||||||
|
minitest (>= 5.0)
|
||||||
|
ruby-progressbar
|
||||||
|
parallel (1.23.0)
|
||||||
|
parser (3.2.2.3)
|
||||||
|
ast (~> 2.4.1)
|
||||||
|
racc
|
||||||
|
racc (1.7.1)
|
||||||
|
rainbow (3.1.1)
|
||||||
|
rake (13.0.6)
|
||||||
|
rake-compiler (1.2.5)
|
||||||
|
rake
|
||||||
|
regexp_parser (2.8.1)
|
||||||
|
rexml (3.2.6)
|
||||||
|
rubocop (1.56.4)
|
||||||
|
base64 (~> 0.1.1)
|
||||||
|
json (~> 2.3)
|
||||||
|
language_server-protocol (>= 3.17.0)
|
||||||
|
parallel (~> 1.10)
|
||||||
|
parser (>= 3.2.2.3)
|
||||||
|
rainbow (>= 2.2.2, < 4.0)
|
||||||
|
regexp_parser (>= 1.8, < 3.0)
|
||||||
|
rexml (>= 3.2.5, < 4.0)
|
||||||
|
rubocop-ast (>= 1.28.1, < 2.0)
|
||||||
|
ruby-progressbar (~> 1.7)
|
||||||
|
unicode-display_width (>= 2.4.0, < 3.0)
|
||||||
|
rubocop-ast (1.29.0)
|
||||||
|
parser (>= 3.2.1.0)
|
||||||
|
rubocop-minitest (0.32.2)
|
||||||
|
rubocop (>= 1.39, < 2.0)
|
||||||
|
rubocop-packaging (0.5.2)
|
||||||
|
rubocop (>= 1.33, < 2.0)
|
||||||
|
rubocop-performance (1.19.1)
|
||||||
|
rubocop (>= 1.7.0, < 2.0)
|
||||||
|
rubocop-ast (>= 0.4.0)
|
||||||
|
rubocop-rake (0.6.0)
|
||||||
|
rubocop (~> 1.0)
|
||||||
|
ruby-progressbar (1.13.0)
|
||||||
|
unicode-display_width (2.4.2)
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
arm64-darwin-21
|
||||||
|
arm64-darwin-22
|
||||||
|
arm64-darwin-23
|
||||||
|
x86_64-linux
|
||||||
|
|
||||||
|
DEPENDENCIES
|
||||||
|
minitest (~> 5.20)
|
||||||
|
minitest-ci (~> 3.4)
|
||||||
|
minitest-reporters (~> 1.6)
|
||||||
|
rake (~> 13.0)
|
||||||
|
rake-compiler (~> 1.2)
|
||||||
|
rubocop (= 1.56.4)
|
||||||
|
rubocop-minitest (= 0.32.2)
|
||||||
|
rubocop-packaging (= 0.5.2)
|
||||||
|
rubocop-performance (= 1.19.1)
|
||||||
|
rubocop-rake (= 0.6.0)
|
||||||
|
wordexp!
|
||||||
|
|
||||||
|
BUNDLED WITH
|
||||||
|
2.4.20
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
# wordexp
|
# wordexp
|
||||||
|
|
||||||
[](https://rubygems.org/gems/wordexp)
|
[](https://rubygems.org/gems/wordexp)
|
||||||
[](https://github.com/samsonjs/wordexp/actions/workflows/ci.yml?query=branch%3Amain)
|
[](https://app.circleci.com/pipelines/github/samsonjs/wordexp?branch=main)
|
||||||
[](https://0dependencies.dev)
|
[](https://codeclimate.com/github/samsonjs/wordexp/maintainability)
|
||||||
|
|
||||||
A Ruby gem for performing shell word expansion using [wordexp][]. It's like [Shellwords][] turned up to 11. Not only does it split taking quotes into account, but it also expands environment variables and tildes, and runs subcommands in `` `backticks` `` or `$(dollar parentheses)`.
|
A Ruby gem for performing shell word expansion using [wordexp][]. It's like [Shellwords][] turned up to 11. Not only does it split taking quotes into account, but it also expands environment variables and tildes, and runs subcommands in `` `backticks` `` or `$(dollar parentheses)`.
|
||||||
|
|
||||||
|
|
|
||||||
13
Rakefile
13
Rakefile
|
|
@ -1,11 +1,10 @@
|
||||||
require 'bundler/gem_tasks'
|
require 'bundler/gem_tasks'
|
||||||
require 'English'
|
require 'English'
|
||||||
require 'minitest/test_task'
|
|
||||||
require 'open3'
|
require 'open3'
|
||||||
require 'rake/extensiontask'
|
require 'rake/extensiontask'
|
||||||
|
require 'rake/testtask'
|
||||||
require 'rubocop/rake_task'
|
require 'rubocop/rake_task'
|
||||||
|
|
||||||
desc 'Clean build files'
|
|
||||||
task :clean do
|
task :clean do
|
||||||
`cd ext/wordexp_ext && make clean && rm -f Makefile`
|
`cd ext/wordexp_ext && make clean && rm -f Makefile`
|
||||||
end
|
end
|
||||||
|
|
@ -14,11 +13,10 @@ Rake::ExtensionTask.new 'wordexp_ext' do |ext|
|
||||||
ext.lib_dir = 'lib/wordexp'
|
ext.lib_dir = 'lib/wordexp'
|
||||||
end
|
end
|
||||||
|
|
||||||
Minitest::TestTask.create(test: :compile) do |t|
|
Rake::TestTask.new(test: :compile) do |t|
|
||||||
t.libs << 'test'
|
t.libs << 'test'
|
||||||
t.libs << 'lib'
|
t.libs << 'lib'
|
||||||
t.warning = false
|
t.test_files = FileList['test/**/*_test.rb']
|
||||||
t.test_globs = ['test/**/*_test.rb']
|
|
||||||
end
|
end
|
||||||
|
|
||||||
RuboCop::RakeTask.new
|
RuboCop::RakeTask.new
|
||||||
|
|
@ -32,14 +30,12 @@ Rake::Task['release'].enhance do
|
||||||
system 'open https://github.com/samsonjs/wordexp/releases'
|
system 'open https://github.com/samsonjs/wordexp/releases'
|
||||||
end
|
end
|
||||||
|
|
||||||
desc 'Set environment variable OVERCOMMIT_DISABLE to 1'
|
|
||||||
task :disable_overcommit do
|
task :disable_overcommit do
|
||||||
ENV['OVERCOMMIT_DISABLE'] = '1'
|
ENV['OVERCOMMIT_DISABLE'] = '1'
|
||||||
end
|
end
|
||||||
|
|
||||||
Rake::Task[:build].enhance [:disable_overcommit]
|
Rake::Task[:build].enhance [:disable_overcommit]
|
||||||
|
|
||||||
desc 'Ensure that files in the gemspec are tracked with git'
|
|
||||||
task :verify_gemspec_files do
|
task :verify_gemspec_files do
|
||||||
git_files = `git ls-files -z`.split("\x0")
|
git_files = `git ls-files -z`.split("\x0")
|
||||||
ext_files = Dir['**/*.bundle']
|
ext_files = Dir['**/*.bundle']
|
||||||
|
|
@ -66,14 +62,12 @@ Rake::Task[:build].enhance [:verify_gemspec_files]
|
||||||
task bump: %w[bump:bundler bump:ruby bump:year]
|
task bump: %w[bump:bundler bump:ruby bump:year]
|
||||||
|
|
||||||
namespace :bump do
|
namespace :bump do
|
||||||
desc 'Update to the latest bundler version in .circleci/config.yml and Gemfile.lock'
|
|
||||||
task :bundler do
|
task :bundler do
|
||||||
version = Gem.latest_version_for('bundler').to_s
|
version = Gem.latest_version_for('bundler').to_s
|
||||||
replace_in_file '.circleci/config.yml', /bundler -v (\S+)/ => version
|
replace_in_file '.circleci/config.yml', /bundler -v (\S+)/ => version
|
||||||
replace_in_file 'Gemfile.lock', /^BUNDLED WITH\n\s+(\d\S+)$/ => version
|
replace_in_file 'Gemfile.lock', /^BUNDLED WITH\n\s+(\d\S+)$/ => version
|
||||||
end
|
end
|
||||||
|
|
||||||
desc 'Update ruby versions in wordexp.gemspec, .rubocop.yml, and .circleci/config.yml'
|
|
||||||
task :ruby do
|
task :ruby do
|
||||||
lowest = RubyVersions.lowest_supported
|
lowest = RubyVersions.lowest_supported
|
||||||
lowest_minor = RubyVersions.lowest_supported_minor
|
lowest_minor = RubyVersions.lowest_supported_minor
|
||||||
|
|
@ -86,7 +80,6 @@ namespace :bump do
|
||||||
replace_in_file '.circleci/config.yml', /version: (\[.+\])/ => latest_patches.inspect
|
replace_in_file '.circleci/config.yml', /version: (\[.+\])/ => latest_patches.inspect
|
||||||
end
|
end
|
||||||
|
|
||||||
desc 'Update to the latest year in LICENSE.txt'
|
|
||||||
task :year do
|
task :year do
|
||||||
replace_in_file 'LICENSE.txt', /\(c\) (\d+)/ => Date.today.year.to_s
|
replace_in_file 'LICENSE.txt', /\(c\) (\d+)/ => Date.today.year.to_s
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
require 'mkmf'
|
require 'mkmf'
|
||||||
|
|
||||||
create_makefile 'wordexp/wordexp_ext'
|
create_makefile 'wordexp_ext/wordexp_ext'
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
module Wordexp
|
module Wordexp
|
||||||
VERSION = '0.2.2'.freeze
|
VERSION = '0.2.0'.freeze
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,2 @@
|
||||||
# Generate XML test reports that can be parsed by CircleCI
|
# Generate XML test reports that can be parsed by CircleCI
|
||||||
if ENV['CIRCLECI']
|
require 'minitest/ci' if ENV['CIRCLECI']
|
||||||
require 'minitest/ci'
|
|
||||||
|
|
||||||
Minitest::Ci.report_dir = './reports'
|
|
||||||
end
|
|
||||||
|
|
|
||||||
|
|
@ -20,16 +20,8 @@ Gem::Specification.new do |spec|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Specify which files should be added to the gem when it is released.
|
# Specify which files should be added to the gem when it is released.
|
||||||
files = `git ls-files -z`.split("\x0")
|
glob = %w[LICENSE.txt README.md exe/**/* lib/**/* ext/extconf.rb ext/wordexp_ext.c]
|
||||||
if files.empty?
|
spec.files = Dir.glob(glob).reject { |f| File.directory?(f) }
|
||||||
glob = %w[LICENSE.txt README.md exe/**/* lib/**/* ext/**/*]
|
|
||||||
files = Dir.glob(glob).reject do |f|
|
|
||||||
File.directory?(f) ||
|
|
||||||
f.end_with?('.bundle', '.o', '.so') ||
|
|
||||||
f.end_with?('Makefile')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
spec.files = files
|
|
||||||
spec.bindir = 'exe'
|
spec.bindir = 'exe'
|
||||||
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
||||||
spec.extensions = %w[ext/wordexp_ext/extconf.rb]
|
spec.extensions = %w[ext/wordexp_ext/extconf.rb]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue